加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 如何为具有作用域质量分配的Rails 3.1应用程

发布时间:2020-12-17 04:04:06 所属栏目:百科 来源:网络整理
导读:Rails 3.1(RC4)和作用域质量分配如何在加载数据列表时使用seeds.rb. 例如.我通常有类似的东西: City.create([ { :name = 'Chicago' },{ :name = 'Copenhagen' },...]) 这创造了100多个城市.由于City模型具有范围的质量分配,因此不再起作用:as = :管理员.
Rails 3.1(RC4)和作用域质量分配如何在加载数据列表时使用seeds.rb.

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

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

这创造了100多个城市.由于City模型具有范围的质量分配,因此不再起作用:as => :管理员.

据我所知,.create()方法不允许我们输入:as => :管理员.
只有.new()和.update_attributes()允许我们这样做:as => :管理员.

所以做(像下面这样的)很麻烦(特别是对于100条记录):

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

有什么想法吗?

解决方法

您可以执行以下操作:

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

这完全取代了质量分配保护 – 所以一定要在种子中使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读