Rails使用col2更新属性表col1

时间:2013-02-22 08:01:10

标签: ruby-on-rails mass-assignment

我想(大规模)更新模型。应该通过将attb 1的val替换为attr2

的val来更新每一行
users = User.find_all_by_project_id(params[:project_id])
users.each do |d|
  User.update_attribute attribute1 with attribute2
end

最好的方法是什么? 感谢您的投入。

2 个答案:

答案 0 :(得分:1)

应该这样做:

User.where(:project_id => params[:project_id]).update_all('col1 = col2')

User.update_all('col1 = col2', {:project_id => params['project_id'] })

答案 1 :(得分:1)

这是你应该这样做的,所以一切都发生在sql端。

User.update_all("attribute1 = attribute2", { project_id: params[:project_id] })