如果在Rails中选中了复选框,则将属性设置为0

时间:2012-02-06 17:06:36

标签: ruby ruby-on-rails-3.2

我有一个名为starting_pt的db列,它是一个小数。 我想要一个复选框,如果选中,将设置starting_pt = 0.0

我已经在我的模型中设置了一个virt attr并将其添加到了可访问的

attr_acessor :reset
attr_accessible :reset

我已经设置了

before_create :reset_starting_pt, :if => :reset?

def reset?
    @reset == "1"
end 

def reset_starting_pt
    @starting_pt = 0.0
end 

这假设复选复选框等于“1”且未选中复选框等于“0”。

此解决方案无效。任何人都可以提供的关于如何做的指导将非常有帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

您可以为重置创建一个setter方法,当提供“0”时将重置@starting_pt实例变量。

def reset= val
  @starting_pt = 0.0 if 0 == val.to_i
end