2013-05-22 44 views
0

這裏是我的重設密碼Haml的文件:爲什麼冒號在我的URL中的「http」之後失蹤?

%p= link_to 'Changme', edit_password_url(@user, reset_password_token: @user.reset_password_token) 

第一個奇怪的是,沒有路由edit_password_url,但有一個路線edit_user_password_url

localhost:/users/password/edit.9?reset_password_token=yeePkkvDzaDj3DFFuXBq 

通知沒有在URL .9:如果我參加了第二個,我會喜歡的東西而告終。

我將它改爲edit_password_url,但是當我在我的製作系統上測試它並收到激活URL電子郵件後,鏈接竟然在http之後沒有冒號。

http//mywebsite.com/users/password/edit?reset_password_token=yeePkkvDzaDj3DFFuXBq 

如果第一次奇怪的是相當可以接受的,那麼第二個確實應該是固定的,但似乎沒有在我的代碼沒有錯誤。

我該如何擺脫它?

+1

在'配置/環境/ production.rb'嘗試'config.action_mailer.default_url_options = {主機: 'www.mywebsite.com'}'。另外,運行'rake routes'並確保'edit_user_password_url'應該帶有一個用戶ID。 –

回答

1

很可能你的edit_user_password_url不應該接收用戶ID。你在使用Devise嗎?我相信,如果你做你的代碼將工作:

%p= link_to 'Changme', 
      edit_password_url(reset_password_token: @user.reset_password_token) 

要確認,運行rake routes |grep password和後期輸出

相關問題