我对铁杆很新。我有一个控制器试图使用以下代码更新模型:
@test = Product.find(1)
@test.increment!(:price)
它确实从数据库中成功检索了产品,但没有更新price属性。有谁知道为什么会出现这种情况,或者我如何能够获得有关问题的更多反馈?
非常感谢! 特里斯坦
编辑:价格是一个值为0的整数。当我用 @ test.price = 50 然后 @ test.save 设置价格时我遇到同样的问题
答案 0 :(得分:1)
答案 1 :(得分:0)
increment
绕过模型验证,因此将“price”递增1可能会使模型无效,从而无法保存模型。没有更多关于模型及其价格属性的背景,很难说清楚。您可以尝试非{b}版本的increment
,手动调用它,然后检查模型对象以查看是否存在验证错误。
答案 2 :(得分:0)
“价格属性”的数据库类型是什么?
增量仅适用于基于数字的属性(http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-increment%21)。