2014-01-29 51 views
0

我正試圖在我的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是「用戶」和new_session_path("user")routes.rb文件返回匹配的路由new_session_path。預期的響應應該是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!方法 ?

我的Rails版本是3.2.14和Devise 3.2.2。

此致敬禮!

回答

0

問題是我有一個SessionsController它覆蓋了Devise SessionsController和路徑路徑。重命名我的SessionsController後,它工作正常。