【发布时间】:2013-06-26 09:09:39
【问题描述】:
这里是新手,所以请耐心等待。
带有 ruby 2.0 的 Rails 4 上的新应用程序,我安装了 Devise 并按照说明操作(默认 root 等)。 github上的设计自述文件说它应该与rails4兼容,但是
- db:migrate 失败,除非我在 User.rb 中注释掉 attr_accessible 行
- 注释掉之后,我在尝试创建用户时收到“ActiveModel::ForbiddenAttributesError in Devise::RegistrationsController#create”错误。
我看到一些类似这样的堆栈溢出问题,但很多答案直接跳入了一些复杂的话题。我知道我需要为批量分配指定允许的属性,但是如何?在哪里?哪些属性需要被允许,所有这些?只有我希望同时更改/创建的那些?
根据错误判断,我会创建一个从 Devise::registrationsController 继承的 registrations_controller.rb 吗?我在其中指定了什么?
非常感谢任何一步一步的新手友好答案。我已经筋疲力尽地尝试从这里的答案和谷歌搜索的各种网站中尝试不同的代码。
【问题讨论】:
-
不注释掉attr_accessible会出现什么错误
-
rake db:migrate rake 中止!
attr_accessible从 Rails 中提取到 gem 中。请为 params(strong_parameters) 使用新的推荐保护模型或将protected_attributes添加到您的 Gemfile 以使用旧的。
标签: devise ruby-on-rails-4 strong-parameters