我正在制作用户管理页面。对于我正在创建的系统,用户需要获得批准。有时,会有很多用户批准,所以我想让这很容易。我将其存储为名为approved
的布尔列。
我记得Edit Multiple Individually 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
的聊天在我测试时没有任何影响。
我做错了什么?
答案 0 :(得分:2)
您可能正在使用user.rb
attr_protected :approved