【发布时间】:2012-06-22 19:49:27
【问题描述】:
我正在通过 PragProg 的自学 Rails(显然已经过时 - 我使用的是 Rails 3.2.3)Rails for PHP Developers。我发现了这本书没有提到的种子.rb 文件。我尝试为许多事情建立适当的种子条目,它给了我can't mass-assign protected attributes。
经过大量搜索,看来我唯一的选择是通过attr_accessible 打开这些东西,或者关闭阻止批量分配的默认功能。但我想保留该设置所暗示的任何安全性。我不希望这些条目在播种后被编辑。我只需要先将它们放入数据库中。
我在这里没有看到什么?如何在不关闭保护的情况下播种这些数据?似乎种子应该是一种特殊情况,允许在不允许的情况下进行大规模分配。
【问题讨论】:
-
我认为我的部分问题是我并不完全了解上述保护措施的效用。如果我只能说
x.name="blah"和x.phone="blahblah",那么在安全性方面阻止我说x=X.new(name => "blah", phone => "blahblah")有什么用?为什么我应该担心将通常不会/不应该更改的内容保留在保护范围内?
标签: ruby-on-rails ruby attr-accessible