Това:
#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]
е резултат от извикването на inspect
върху заявката и inspect
ще показва само колони, които моделът знае за него. Моделът ще направи запитване към таблицата за колоните по време на стартиране, така че ще знае само за колони, които действително са в таблицата.
ActiveRecord създава методи за достъп до колони в движение с помощта на method_missing
така че може да създава методи неща в заявка, които не са колони в действителната таблица.
Така че вашите data
има ли, просто трябва да го поискате по име, например:
Model.select(:id, "json_field -> 'data' as data").map(&:data)
ще ви даде data
стойности.