我想(大规模)更新模型。应该通过将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
最好的方法是什么? 感谢您的投入。
答案 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] })