3

次のような可能性があります:

@users = User.criteria.for_ids(params[:user_ids])
@users.update_all(:suspend => true)

それ以外の:

for u in @users
 u.suspend = true
 u.update_attributes
end
4

2 に答える 2

5

これを見てください:

# Updating one record:
Person.update(15, :user_name => 'Samuel', :group => 'expert')

# Updating multiple records:
people = { 1 => { "first_name" => "David" }, 2 => { "first_name" => "Jeremy" } }
Person.update(people.keys, people.values)

ここで見られる:http://apidock.com/rails/ActiveRecord/Base/update/class

検証に合格すると、オブジェクト(または複数のオブジェクト)を更新してデータベースに保存します。結果のオブジェクトは、オブジェクトがデータベースに正常に保存されたかどうかに関係なく返されます。

あなたの場合:

User.update(params[:user_ids], :suspend => true)

お役に立てれば!

于 2012-11-22T18:18:00.967 に答える
3

メソッドが(配列ではなく)基準を返す限りfor_ids、を使用できますupdate_all

@users = User.criteria.for_ids(params[:user_ids])
@users.update_all(:suspend => true)

通話はupdate_all通話に変換されsetます。詳細については、ドキュメントを参照してください。

于 2012-11-22T18:54:54.027 に答える