代码之家  ›  专栏  ›  技术社区  ›  Benjamin Oakes

为什么我不能用update设置布尔列?

  •  1
  • Benjamin Oakes  · 技术社区  · 14 年前

    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

    我做错什么了?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Salil    14 年前

    可能是您在user.rb中使用的

    attr_protected :approved