在重置密码过程中未生成设计URL助手

时间:2014-01-29 01:31:04

标签: ruby-on-rails ruby ruby-on-rails-3 devise

我正在尝试在我的Rails应用程序上实现Devise的重置密码功能。它工作正常,但在发送电子邮件说明后,它会重定向到错误的网址(api/sessions/new而不是users/sign_in)。查看设计代码,我发现它调用此方法来获取url:

# The path used after sending reset password instructions
def after_sending_reset_password_instructions_path_for(resource_name)
  new_session_path(resource_name) if is_navigational_format?
end

resource_name是“user”,new_session_path("user")正在new_session_path文件上返回匹配的路由routes.rb。预期的回复应为new_user_session_path

设计中有一个网址助手可以将new_session_path(:user)翻译为new_user_session_path但不起作用:http://www.rubydoc.org/github/plataformatec/devise/Devise/Controllers/UrlHelpers#generate_helpers%21-class_method

有谁知道为什么?我应该手动调用generate_helpers!方法 ?

My Rails版本是3.2.14和Devise 3.2.2。

祝你好运!

1 个答案:

答案 0 :(得分:0)

问题是我有一个SessionsController覆盖了Devise SessionsController和路径路径。重命名我的SessionsController后工作正常。