Rails 4.0&Devise - 强参数错误

bvc*_*vcm 0 devise strong-parameters ruby-on-rails-4

新手到这里的铁路,所以忍受我.

使用ruby 2.0的Rails 4上的新应用程序,我安装了Devise并按照说明(默认root等).在github上设计自述文件说它应该与rails4兼容但是

  • db:migrate失败,除非我在User.rb中注释掉了attr_accessible行
  • 在评论完之后,我在尝试创建用户时出现"Devise :: RegistrationsController #create中的ActiveModel :: ForbiddenAttributesError"错误.

我看到像这样的堆栈溢出问题,但很多答案直接进入了一些复杂的谈话.我得到我需要为质量分配指定允许的属性,但是如何?在哪里?哪些属性需要被允许,所有这些属性?只有我希望同时更改/创建的那些?

从错误判断我会创建一个从Devise :: registrationsController继承的registrations_controller.rb吗?我在那里指定了什么?

任何一步一步,新手友好的答案非常感谢.我已经用尽了自己尝试从这里的答案和谷歌搜索的各种网站的不同代码.

SG *_* 86 7

欢迎来到stackoverflow!

问题是attr_accessible的功能在rails 4.0中发生了变化

让它运行的2种可能性

1更新设计它可以处理Rails 4.0

将此行添加到应用程序的Gemfile:

gem 'devise', '3.0.0.rc' 
Run Code Online (Sandbox Code Playgroud)

然后执行:

$ bundle
Run Code Online (Sandbox Code Playgroud)

2再次将attr_accessible的旧功能添加到rails 4.0

尝试使用attr_accessible并且不要对此进行评论.

将此行添加到应用程序的Gemfile:

gem 'protected_attributes'
Run Code Online (Sandbox Code Playgroud)

然后执行:

$ bundle
Run Code Online (Sandbox Code Playgroud)