0

次のように、MyModel にシリアル化されたハッシュがあります。

class MyModel < ActiveRecord::Base
    serialize :times, Hash
end

次のように、シリアル化されたハッシュに読み書きできます。

# write
my_model.times[:weekday] = "foo"

# read
bar = my_model.times[:weekend]

times[:weekday]しかし、次のようなことを試みているときに、 の周りで構文エラーが発生しています。

MyModel.where("foo = ? AND times[:weekday] IS NOT NULL", baz)

ここで何が欠けていますか?

4

1 に答える 1

0

どうですか:

MyModel.where("foo = ?", baz).select { |m| m.weekday.present? }

?

于 2013-09-04T15:55:45.077 に答える