1

モデルを (一括) 更新したい。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

最善の方法は?ご意見ありがとうございます。

4

2 に答える 2

1

これは次のように行う必要があります。

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

また

User.update_all('col1 = col2', {:project_id => params['project_id'] })
于 2013-02-22T08:07:01.090 に答える
1

これは、すべてがSQL側で行われるようにする方法です。

User.update_all("attribute1 = attribute2", { project_id: params[:project_id] })
于 2013-02-22T08:08:47.353 に答える