私のルビーコード:
Portfolio.where("data @> (:key => :value)", :key => 'CSJ', :value => '0.1')
次のSQLを生成します。
"SELECT \"portfolios\".* FROM \"portfolios\" WHERE (data @> ('CSJ' => '0.1'))"
このエラーが発生します:
Error: PG::Error: ERROR: operator does not exist: unknown => unknown
LINE 1: ...olios".* FROM "portfolios" WHERE (data @> ('CSJ' => '0.1'))
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT "portfolios".* FROM "portfolios" WHERE (data @> ('CSJ' => '0.1'))
Postgresql 9.1.4、Rails 3.2.7 / 8、activerecord-postgres-hstore gemを使用して、モデルコードで次のようにします。
serialize :data, ActiveRecord::Coders::Hstore
助けていただければ幸いです!