0

我有一个名为 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”。

此解决方案不起作用。任何人都可以提供有关如何执行此操作的任何指导,这将非常有帮助,谢谢!

4

1 回答 1

0

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

def reset= val
  @starting_pt = 0.0 if 0 == val.to_i
end
于 2012-02-06T17:25:07.307 回答