我想(大规模)更新模型。应通过将 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
最好的方法是怎样的?感谢您的输入。
我想(大规模)更新模型。应通过将 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
最好的方法是怎样的?感谢您的输入。
这就是你应该这样做的,所以一切都发生在 sql 端。
User.update_all("attribute1 = attribute2", { project_id: params[:project_id] })
应该这样做:
User.where(:project_id => params[:project_id]).update_all('col1 = col2')
或者
User.update_all('col1 = col2', {:project_id => params['project_id'] })