如何使用范围分配的质量分配为Rails 3.1应用播种

问题描述

| Rails 3.1(RC4)和范围内的质量分配如何期望我们在加载数据列表时使用seeds.rb。 例如。我通常有这样的东西:
City.create([
  { :name => \'Chicago\' },{ :name => \'copenhagen\' },...
]) 
创建超过100个城市。由于“城市”模型的作用域分配为ѭ1,因此这不再起作用。 据我所知,
.create()
方法不允许我们抛出in1ѭ。 只有
.new()
.update_attributes()
允许我们使用
:as => :admin
进行此操作。 因此,执行类似(如下)的操作很麻烦(特别是对于100多个记录):
city1 = City.new({ :name => \'Chicago\' },:as => :admin)
city1.save
city2 = City.new({ :name => \'copenhagen\' },:as => :admin)
city2.save
有什么想法吗?     

解决方法

        您可以执行以下操作:
City.create([
  { :name => \'Chicago\' },{ :name => \'Copenhagen\' },...
],:without_protection => true) 
这完全覆盖了质量分配保护-因此请确保仅在种子中使用此保护。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...