Я делаю страницу управления пользователями. Для системы я создаю, пользователи должны быть утверждены. Иногда, будут многие пользователи для одобрения, таким образом, я хотел бы сделать это легким. Я храню это как булев названный столбец approved
.
Я помнил Редактирование Несколько Индивидуально 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]
Chaging от '1'
кому: true
не имел значения, когда я протестировал.
Что я делаю неправильно?
может быть вы используете в своем user.rb
attr_protected :approved