繁体   English   中英

Rails attr_access仅适用于seed.rb?

[英]Rails attr_accessible only for seed.rb?

我正在通过PragProg(显然已经过时-我正在使用Rails 3.2.3) 为PHP开发人员教Rails。 我发现了本书没有提到的seed.rb文件。 我已经尝试为许多事情构建适当的种子条目,这使我can't mass-assign protected attributes

经过一堆搜索之后,看来我唯一的选择是通过attr_accessible打开这些内容,或者关闭阻止批量分配的默认功能。 但是我想保留设置所暗示的任何安全性。 我不希望对这些条目进行播种后对其进行编辑。 我只需要先将它们放入数据库中即可。

我在这里没看到什么? 如何在不关闭保护的情况下播种这些数据? 似乎种子应该是一种特殊情况,允许在其他情况下不允许进行大规模分配。

attr_accessible指定应始终对批量分配开放的属性列表,因此,如果您只想打开这些属性进行播种,则可能不是您想要的。

您可以在种子文件中做的一件事是对每个属性使用setter方法。 例如:

admin = User.new do |u|
  u.name = "Foo"
  u.admin = true
end

admin.save!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM