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

标签 ruby-on-rails model controller 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

我正在介绍的 Rails 1.1.6 教程建议使用 update_attributes更新模型的方法,如上面列出的我的 Controller 中的示例代码。查看 Rails 文档我想知道为什么 update方法不会是首选,特别是因为它的命名如此合乎逻辑。

最佳答案

更新需要一个对象 id参数和一组属性,否则会像 update_attributes .

所以这个(来自AWDWR 3rd edition)

Order.update(12, :name => "Barney", :email => "barney@bedrock.com")

相当于
Order.find(12).update_attributes(:name => "Barney", :email => "barney@bedrock.com")

因此,如果您只想使用一组属性更新一行已知 id,那么我会说没有理由不使用 update - 看起来这就是他们写它的原因!

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

关于ruby-on-rails - Rails update_attributes 方法是更新数据库中模型的最佳选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/840199/

相关文章:

ruby-on-rails - 什么错误会导致 rails 重定向回表单而不写入数据库

python - 如何选择列而不在 group by 子句中放置非聚合列

c# - 我应该如何将域对象的属性传输到其模型对应项?

css - 编辑 <li> 的 innerhtml 以添加带有图标图像的 <i> 标签

java - Spring Controller 中的 PathVariable

java - Jruby NoSuchMethodError : org. jruby.RubyClass.defineMethod

ruby-on-rails - Heroku值得吗?

ruby-on-rails - 配置 puma 使用 pdfkit

python - 如何将 Django 模型的实例保存到我的数据库中

javascript - Spring,Thymeleaf - 更改颜色文本