Spy*_*ros 5 ruby-on-rails ruby-on-rails-3
在创建种子数据时,我无法找到绕过attr_accessible的干净方法.我希望能够毫无问题地使用质量分配,因为我知道这个种子文件是完全安全的.
是否有一种干净的方法迫使Rails 3接受这些?
这是一个快速破解(感谢迈克),把它放在你的种子顶部.rb:
# Dodge the mass assignment
User.send(:attr_accessible, :username)
User.send(:attr_accessible, :admin)
Run Code Online (Sandbox Code Playgroud)
现在你可以轻松地调用它而不会弄乱你的模型(使用:as =>:seed):
@user = User.find_or_create_by_username(:username => 'ryanonrails', :admin => true)
Run Code Online (Sandbox Code Playgroud)
#in model
attr_accessible :name, :role,.... :as => :seed
#in seed.rb
model.assign_attributes({name: "Putin", role: "president"....},:as => :seed)
model.save
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
717 次 |
| 最近记录: |