如何更新记录?

时间:2012-10-28 23:12:08

标签: ruby-on-rails

在Ruby on Rails中更新记录的正确方法是什么?只是一个记录。例如,我想以某种方式修改标题的名称。代码片段真棒!

2 个答案:

答案 0 :(得分:1)

更新记录的基本方法是:

@user.name = "new name"
@user.save

这假设@user类的实例中的User具有name字段。

您还可以使用update_attributes方法

进行mass_assignment
@user.update_attributes name: "new name", email: "new_email@foo.com"

如果您希望在记录无效的情况下引发异常,则可以使用bang方法,因此这里可能是save!& update_attributes!

您也可以使用已经(或将很快)重命名为update_attribute的{​​{1}}在跳过验证时更新单个列,但通常应该避免使用此方法

更多文档there

最后,您可以使用write_attribute方法

答案 1 :(得分:0)

entity = Entity.find_by_name("some_name")
entity.title="new title"
entity.save!

Entity.find_by_name("some_name").update_attributes(:title => "new title")

有关详细信息,请参阅http://guides.rubyonrails.org