Toto:
#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]
je výsledkem volání inspect
na dotaz a inspect
zobrazí pouze sloupce, které o něm model zná. Model bude během spuštění dotazovat tabulku na sloupce, takže bude vědět pouze o sloupcích, které jsou skutečně v tabulce.
ActiveRecord vytváří metody přístupového objektu sloupců za běhu pomocí method_missing
takže může v dotazu vytvářet věci metod, které nejsou sloupci ve skutečné tabulce.
Tedy vaše data
je tam, stačí o to požádat jménem, například:
Model.select(:id, "json_field -> 'data' as data").map(&:data)
vám poskytne data
hodnoty.