これ:
#<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
が表示されます 値。