pez*_*ser 17 controller model ruby-on-rails updatemodel update-attributes
def update
@album = Album.find(params[:id])
if @album.update_attributes(params[:album])
redirect_to(:action=>'list')
else
render(:action=>'edit')
end
end
Run Code Online (Sandbox Code Playgroud)
我正在讨论的Rails 1.1.6教程建议使用update_attributes更新模型的方法,如上面列出的控制器的示例代码中所示.看看Rails文档,我想知道为什么这个update方法不是首选,特别是因为它的逻辑命名.
Mik*_*use 26
Update接受一个对象id参数和一组其他工作方式的属性update_attributes.
所以这(来自AWDWR第3版)
Order.update(12, :name => "Barney", :email => "barney@bedrock.com")
Run Code Online (Sandbox Code Playgroud)
相当于
Order.find(12).update_attributes(:name => "Barney", :email => "barney@bedrock.com")
Run Code Online (Sandbox Code Playgroud)
所以如果你想做的就是用一组属性更新一行已知的id,那么我就说没有理由不使用update- 看起来这就是他们编写它的原因!
(有没有什么方法可以让你的教程从1.1.6升级?它已经很老了,并不是特别惊天动地发布的当前版本.1.2.6更好 - 最后一个1.xs,如果我没记错的.)
| 归档时间: |
|
| 查看次数: |
30973 次 |
| 最近记录: |