我想爲我的Rails應用程序(v 3.2.6)使用Squeel gem(基於Arel)。我的hstore列被稱爲屬性。Rails:我如何使用hstore使用Squeel?
這些工作完全正常:
User.where{(firstname == 'Ryan') & (lastname == 'Bates')}
User.where{"properties @> ('male' => '1')"}
第二個例子是一個普通的Postgres的查詢,因爲Squeel似乎並不支持hstore功能。
這些不工作:
User.where{"properties @> ('male' => '1')" & firstname == 'Ryan'}
User.where{("properties @> ('male' => '1')") & (firstname == 'Ryan')}
錯誤:
NoMethodError: undefined method `&' for "properties @> ('male' => '1')":String
我明白的錯誤,但我不知道該怎麼膠囊我hstore查詢。有沒有更好的方法用Squeel或Arel構建hstore查詢?
感謝您的幫助!
謝謝。看起來我必須換成續集。 – Railsana
你不需要續集hstore gem,Sequel已經附帶了一個pg_hstore擴展,現在增加了對不少版本的支持。 –
我想你會把'Squeel'和'Sequel'混淆起來。 OP詢問[Squeel](https://github.com/activerecord-hackery/squeel) – nocache