如何使用rails中的命名作用域更新记录

时间:2011-04-05 10:32:56

标签: ruby-on-rails

我使用这段代码使用类似的查询来搜索记录。是否可以创建另一个可以更新记录的范围。

 scope :search, lambda{|query| where(["name LIKE ?", "%#{query}%"])}

1 个答案:

答案 0 :(得分:4)

您可以使用rails'update_all方法。请参阅此处以获取说明:http://apidock.com/rails/ActiveRecord/Relation/update_all

编辑:它是Relation类的一部分,所以你可以在范围内调用它(它没有在文档中明确说明)

EDIT2:它非常像destroy_all,也可以在范围上调用(关系)