如何解决如何使用范围分配的质量分配为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)
这完全覆盖了质量分配保护-因此请确保仅在种子中使用此保护。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。