我正在使用Rails 4和设计(3.2.2)。但是,当我尝试注册时,我正在异常
对于[:email,:password,未定义的方法`stringify_keys', :password_confirmation]:阵列
以下是我获得例外的方法。
def build_resource(hash=nil)
self.resource = resource_class.new_with_session(hash || {}, session)
end
我已检查hash
的值是[:email, :password, :password_confirmation]
,不应该是哈希而不是数组吗?
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
应该是。在默认Devise::RegistrationsController
中,create
操作中的第一行是
build_resource(sign_up_params)
sign_up_params
方法应返回允许的请求参数以进行注册;默认情况下,这些将是email
,password
和password_confirmation
。
您必须更改默认设置。您是否完全更改了允许的参数(例如,通过configure_permitted_parameters
中的ApplicationController
?)?您是否覆盖了注册控制器上的create
操作?您是否覆盖了sign_up_params
方法?
需要更多信息才能给出确定的答案,但这些都是值得关注的地方。