1

いくつかの最小フィールドと最大フィールドを更新しようとしているので、一方が空のままになり、値が他方からコピーされます。これまでのところ、私は持っています:

Item.update_all({:min = :max}, {:min => nil, :max !=> nil})

両方のフィールドが存在する可能性があるため、nilそれらが正しいかどうかはわかりますが、!=>正しくありません。このスタイルの条件を使用して、等しくないことをテストするにはどうすればよいですか?

4

1 に答える 1

4

これは、ハッシュの有効な Ruby 構文ではありません。

試す:

Item.update_all("min = max", "min IS NULL AND max IS NOT NULL")

または、次のようにします。

Item.where("min IS NULL AND max IS NOT NULL").update_all("min = max")
于 2012-08-09T11:53:25.663 に答える