Почему я не могу установить логические столбцы с обновлением? - PullRequest
1 голос
/ 07 мая 2010

Я делаю страницу администрирования пользователей. Для системы, которую я создаю, пользователи должны быть одобрены. Иногда будет много пользователей, чтобы одобрить, поэтому я хотел бы сделать это легко. Я храню это как логический столбец с именем 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 не имело значения при тестировании.

Что я делаю не так?

1 Ответ

2 голосов
/ 07 мая 2010

возможно вы используете в своем user.rb

attr_protected :approved
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...