2012-02-06 59 views
0

我有一个名为starting_pt的db列,它是一个小数。 我想一个复选框,如果选中,将设置starting_pt = 0.0如果在Rails中选中复选框,则将属性设置为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”。

此解决方案不起作用。任何人都可以提供的指导如何做到这一点将是非常有益的,谢谢!

+0

也许我测试错了?关于如何在控制台中使用rspec测试这个建议? – Gornik 2012-02-06 19:03:18

回答

0

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

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

我已将此添加到我的模型,它仍然无法正常工作。 – Gornik 2012-02-06 18:43:27

相关问题