Questo:
#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]
è il risultato della chiamata a inspect
sulla query e inspect
visualizzerà solo le colonne che il modello conosce. Il modello interrogherà la tabella per le colonne durante l'avvio, quindi conoscerà solo le colonne che sono effettivamente nella tabella.
ActiveRecord crea al volo metodi di accesso alle colonne utilizzando method_missing
quindi può creare metodi in una query che non sono colonne nella tabella effettiva.
Quindi i tuoi data
c'è, devi solo richiederlo per nome, ad esempio:
Model.select(:id, "json_field -> 'data' as data").map(&:data)
ti fornirà i data
valori.