无法更新rails模型

时间:2011-01-04 00:49:48

标签: ruby-on-rails ruby activerecord ruby-on-rails-3

我对铁杆很新。我有一个控制器试图使用以下代码更新模型:

@test = Product.find(1)
@test.increment!(:price)

它确实从数据库中成功检索了产品,但没有更新price属性。有谁知道为什么会出现这种情况,或者我如何能够获得有关问题的更多反馈?

非常感谢! 特里斯坦

编辑:价格是一个值为0的整数。当我用 @ test.price = 50 然后 @ test.save 设置价格时我遇到同样的问题

3 个答案:

答案 0 :(得分:1)

啊,我发现了问题。我正在使用回形针(图像附件)gem,它有一个阻止任何更新的验证。这个孩子解决了它:Smarter paperclip validations

答案 1 :(得分:0)

increment绕过模型验证,因此将“price”递增1可能会使模型无效,从而无法保存模型。没有更多关于模型及其价格属性的背景,很难说清楚。您可以尝试非{b}版本的increment,手动调用它,然后检查模型对象以查看是否存在验证错误。

答案 2 :(得分:0)

“价格属性”的数据库类型是什么?

增量仅适用于基于数字的属性(http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-increment%21)。