Ruby on rails 为活动记录中的一行保存一个属性

Ruby on rails 为活动记录中的一行保存一个属性,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,在ActiveRecord中保存属性的新值有5种方法。不幸的是,我只能找到一种工作方式,我不确定这是最有效的方式: review = Review.find(id) review.status = 'ok' review.save! 我开始使用update方法,但出于某种奇怪的原因,我删除了我的评论行 review = Review.update(id, :status => 'ok) review.save! 有什么想法吗?为属性保存新值的最有效方法是: Review.update_

在ActiveRecord中保存属性的新值有5种方法。不幸的是,我只能找到一种工作方式,我不确定这是最有效的方式:

review = Review.find(id)
review.status = 'ok'
review.save!
我开始使用update方法,但出于某种奇怪的原因,我删除了我的评论行

review = Review.update(id, :status => 'ok)
review.save!

有什么想法吗?

为属性保存新值的最有效方法是:

Review.update_attribute(id, :status => 'ok')
之后不需要调用save方法,因为ActiveRecord会使用update_属性方法自动保存值

现在,请记住,只有当更改通过了对象上设置的验证时,它才会起作用

有关更多信息,请查看此链接:


为属性保存新值的最有效方法是:

Review.update_attribute(id, :status => 'ok')
之后不需要调用save方法,因为ActiveRecord会使用update_属性方法自动保存值

现在,请记住,只有当更改通过了对象上设置的验证时,它才会起作用

有关更多信息,请查看此链接:

你应该使用

review = Review.find_by_id(id)
review.update_column(:status, 'ok')  
有你可以看到的

注意:ActiveRecord::Base:update在Rails 3.2.8中已被弃用,您应该使用

review = Review.find_by_id(id)
review.update_column(:status, 'ok')  
有你可以看到的

注意:ActiveRecord::Base:update在Rails 3.2.8中已被弃用

review.update\u attributestatus:“ok”

应该是


review.update\u attributestatus:“确定”

更新已被弃用。请检查我的答案是否有更新版本。更新已被弃用。请检查我的答案以获得更新版本。