という名前のテーブルにhstore
列があります。users
properties
where条件内の静的SQL文字列をaRel構文に変換するにはどうすればよいですか?
User.where("properties -> 'is_robber' = 'true'") #=> ...some users
私が試してみました:
ut = User.arel_table
condition = ut["properties -> 'is_robber'"].eq('true')
User.where(condition) #=> throws pg error
そして、それは間違ったSQLを生成します:
SELECT "users".* FROM "users" WHERE "users"."properties -> 'is_robber'" = 'true'
私が必要なものと比較して:
SELECT "users".* FROM "users" WHERE "users".properties -> 'is_robber' = 'true'