Ruby On Rails update_all测试在条件上不相等

时间:2012-08-09 11:48:22

标签: ruby-on-rails update-all

我正在尝试更新一些最小和最大字段,以便将其中一个留空,然后将值复制到另一个中。到目前为止,我有:

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

由于这两个字段都可以nil,我确定它们是否是!=>不正确。如何进行测试不等于使用这种条件?

1 个答案:

答案 0 :(得分: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")