Activerecord 使用Rails 4更新整个DB记录

Activerecord 使用Rails 4更新整个DB记录,activerecord,ruby-on-rails-4.1,Activerecord,Ruby On Rails 4.1,轨道4.1 Ruby 2.0 我的表格是books,包含以下字段: title author subject description slug (a lowercase combo of title, author, and subject) 如果要更新记录中的字段,可以执行以下操作: b = Book.find_by_slug('someslug') b.description = 'blah blah blah' b.save b.update(updated_book) 如何使用散列

轨道4.1 Ruby 2.0

我的表格是books,包含以下字段:

title
author
subject
description
slug (a lowercase combo of title, author, and subject)
如果要更新记录中的字段,可以执行以下操作:

b = Book.find_by_slug('someslug')
b.description = 'blah blah blah'
b.save
b.update(updated_book)
如何使用散列更新b,而不必显式循环所有列,例如:

updated_book = {"title":"updated title", "description":"some new description"}
澄清:最新出版的 为了澄清这一点,如果找到记录,我将执行以下操作:

b = Book.find_by_slug('someslug')
b.description = 'blah blah blah'
b.save
b.update(updated_book)
我得到一个错误:

undefined method for nil class
我可能在某些地方遇到了一些语法问题,因为这种语法应该是有效的,但我只是想问一下,因为Rails4中可能有一些变化

决议:
这其实很好。我在代码的另一部分出现了语法错误,但是Rails引发的异常让我感到困惑。

无法理解
b.update{attrs}
我认为应该这样做,但当我这样做时,得到了500个错误。