如何通过 ruby on rails 中的模型将列值设置为 null?例如,我有一个名为 'include_on_epc'
的 checkbox
和一个名为 'removal_reason'
的 textbox
。
如果复选框被选中,我想在数据库中将文本框的值设置为 NULL。
我尝试了以下方法,它不起作用。
class Emm::Rrr::Result < ActiveRecord::Base
before_save :no_removal_reason_when_including_on_epc
private
def no_removal_reason_when_including_on_epc
if include_on_epc == 1
self.removal_reason == nil
end
end
end
最佳答案
这里有两个问题。
正如 Jakob 所指出的,
self.removal_reason == nil
将removal_reason
与nil
进行比较,而您想要 将removal_reason
设置为nil
。因此self.removal_reason = nil
绝对是您想要的。如果
include_on_epc
是一个boolean
列,则与1
的比较将不起作用。您可能需要一个简单的if include_on_epc
,因为它的值可能是true
或false
,而不是1
或0
,在 Ruby 中1 != true
。
关于ruby-on-rails - 如何通过 Rails 模型将值设置为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316900/