4

Rails 3.1(RC4)とScoped Mass Assignmentは、データのリストを読み込む際にseeds.rbとどのように連携する必要がありますか?Scopeed Mass Assignmentを使用してRails 3.1アプリをシードする方法

たとえば、私は通常次のようなものを持っています:

City.create([ 
    { :name => 'Chicago' }, 
    { :name => 'Copenhagen' }, 
    ... 
]) 

100以上の都市を作成します。 Cityモデルのスコープ質量指定が:as => :adminであるため、これはもう機能しません。

私が知る限り、.create()メソッドでは:as => :adminを投げ入れることはできません。 .new().update_attributes()のみ:as => :adminでこれを行うことができます。

だから、(下)(特に100の+レコードの)面倒であるようなものをやって:この上

city1 = City.new({ :name => 'Chicago' }, :as => :admin) 
city1.save 
city2 = City.new({ :name => 'Copenhagen' }, :as => :admin) 
city2.save 

任意の考え?

答えて

12

あなたは、次の操作を行うことができます

City.create([ 
    { :name => 'Chicago' }, 
    { :name => 'Copenhagen' }, 
    ... 
], :without_protection => true) 

これを完全に大量の割り当て保護を無効にします - これだけの種が言う、この中を使用してください。

関連する問題