多的對象可能是這樣的:update_attributes方法與mongoid
@users = User.criteria.for_ids(params[:user_ids])
@users.update_all(:suspend => true)
代替:
for u in @users
u.suspend = true
u.update_attributes
end
多的對象可能是這樣的:update_attributes方法與mongoid
@users = User.criteria.for_ids(params[:user_ids])
@users.update_all(:suspend => true)
代替:
for u in @users
u.suspend = true
u.update_attributes
end
看看這個:
# 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)
希望這有助於!
只要for_ids
方法返回一個標準(而不是數組),您可以使用update_all
。
@users = User.criteria.for_ids(params[:user_ids])
@users.update_all(:suspend => true)
的update_all
呼叫被轉換到一個set
電話。有關更多詳細信息,請參閱documentation。
謝謝ActiveRecords?問題是與Mongoid ... – hyperrjas
Arf,沒有注意到,對不起...:/ – MrYoshiji