Detta:
#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]
är resultatet av anropet inspect
på frågan och inspect
kommer bara att visa kolumner som modellen känner till. Modellen frågar efter kolumnerna i tabellen under uppstart så att den bara vet om kolumner som faktiskt finns i tabellen.
ActiveRecord skapar kolumnaccessormetoder i farten med method_missing
så det kan skapa metodsaker i en fråga som inte är kolumner i den faktiska tabellen.
Så din data
finns där behöver du bara fråga efter namnet, till exempel:
Model.select(:id, "json_field -> 'data' as data").map(&:data)
ger dig data
värden.