Я делаю страницу администрирования пользователей. Для системы, которую я создаю, пользователи должны быть одобрены. Иногда будет много пользователей, чтобы одобрить, поэтому я хотел бы сделать это легко. Я храню это как логический столбец с именем approved
.
Я вспомнил Edit Multiple Individual Individual Railscast и подумал, что он подойдет. Тем не менее, я сталкиваюсь с проблемами, которые я проследил до ActiveRecord::Base#update
.
update
отлично работает в этом примере:
>> User.all.map(&:username)
=> ["ben", "fred"]
>> h = {"1"=>{'username'=>'benjamin'}, "2"=>{"username"=>'frederick'}}
=> {"1"=>{"username"=>"benjamin"}, "2"=>{"username"=>"frederick"}}
>> User.update(h.keys, h.values)
=> ...
>> User.all.map(&:username)
=> ["benjamin", "frederick"]
Но не этот:
>> User.all.map(&:approved)
=> [true, nil]
>> h = {"1"=>{'approved'=>'1'}, "2"=>{'approved'=>'1'}}
>> User.update(h.keys, h.values)
=> ...
>> User.all.map(&:approved)
=> [true, nil]
Изменение от '1'
до true
не имело значения при тестировании.
Что я делаю не так?