标签: scoped-mass-assignment

如何使用作用域质量分配来种子Rails 3.1应用程序

Rails 3.1(RC4)和作用域质量分配如何在加载数据列表时使用seeds.rb.

例如.我通常有类似的东西:

City.create([
  { :name => 'Chicago' }, 
  { :name => 'Copenhagen' }, 
  ...
]) 
Run Code Online (Sandbox Code Playgroud)

这创造了超过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
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

mass-assignment ruby-on-rails-3 ruby-on-rails-3.1 scoped-mass-assignment

4
推荐指数
1
解决办法
1636
查看次数