【发布时间】:2014-02-20 14:59:36
【问题描述】:
我正在尝试在我的 Rails 应用程序上实现 Devise 的重置密码功能。它工作正常,但在发送电子邮件说明后,它重定向到错误的 URL(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") 在routes.rb 文件上返回匹配的路由new_session_path。预期的响应应该是new_user_session_path。
Devise 上有一个 URL Helper,应该将 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!方法 ?
我的 Rails 版本是 3.2.14 和 Devise 3.2.2。
最好的问候!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 devise