Ruby on rails Rails update_attributes方法是更新数据库中模型的最佳选择吗?

Ruby on rails Rails update_attributes方法是更新数据库中模型的最佳选择吗?,ruby-on-rails,model,controller,updatemodel,update-attributes,Ruby On Rails,Model,Controller,Updatemodel,Update Attributes,我正在介绍的Rails 1.1.6教程建议使用update\u attributes方法更新模型,如上面列出的控制器中的示例代码所示。查看Rails文档,我想知道为什么不推荐使用update方法,特别是因为它的命名非常逻辑。update使用一个objectid参数和一组属性,否则它们的工作方式类似于update\u attributes 那么这个(来自) 相当于 Order.update(12, :name => "Barney", :email => "barney@bedrock

我正在介绍的Rails 1.1.6教程建议使用
update\u attributes
方法更新模型,如上面列出的控制器中的示例代码所示。查看Rails文档,我想知道为什么不推荐使用
update
方法,特别是因为它的命名非常逻辑。

update使用一个object
id
参数和一组属性,否则它们的工作方式类似于
update\u attributes

那么这个(来自)

相当于

Order.update(12, :name => "Barney", :email => "barney@bedrock.com")
因此,如果您只想用一组属性更新一行已知id,那么我想说没有理由不使用
update
——看起来这就是他们编写它的原因


(你有什么办法可以让你的教程从1.1.6升级到1.1.6吗?它很老了,在当前的版本中并不是一个特别惊天动地的版本。1.2.6更好——如果我没记错的话,是1.xs的最后一个版本)。

使用update\u attributes方法只是假设你已经有了一个对象,您只需传递属性集。工作完成了

谢谢你的代码片段——这很有意义。不,不幸的是,它不能升级。这是一个lynda.com视频系列,对我来说,这是一个非常好的Rails介绍,尽管我可能需要在完成后阅读一篇更为更新的文章。首先,我需要了解全局,几个月前我读了O'Reilly的书《Head First Rails》后,一直很难理解全局。
Order.update(12, :name => "Barney", :email => "barney@bedrock.com")
Order.find(12).update_attributes(:name => "Barney", :email => "barney@bedrock.com")