在我的Person模型中,我有一个名为
的datetime属性。已雇用
我想在用户选中一个复选框时设置其值。
该怎么做? check_box具有2个值:1和0(或true / false),但我需要雇用= Time.now。我应该在Person模型中以某种方式执行此操作吗?我想我应该在模型中创建一个应该称为before_save的方法,即:
def set_hiring_date
if self.hired==true
self.hired=Time.now
end
end
我的方法还可以吗?
答案 0 :(得分:0)
好吧-这是我的解决方案。
def hiring_state=(arg) @hiring_state=arg end
def set_hiring_date if @hiring_state=="1" && !hired? self.hired=Time.now elsif @hiring_state=="0" && hired? self.hired=nil end end
`<%= f.check_box :hiring_state, checked: @person.hired? %>`