2012-07-17 95 views
0

我遇到了一個與Devise奇怪的路由問題。最近我通過Devise爲我的Rails應用程序添加了電子郵件確認,並且我試圖設置確認/新操作,以便用戶可以在註冊後重新發送其電子郵件確認。Rails 3設計確認路由錯誤

因此,這裏是我設計的用戶身份驗證我目前的路線設置:

devise_for :users do  
    match 'users/logout' => 'devise/sessions#destroy' 
end 

運行耙路線後,這是我得到的,我想相關的新的確認路徑:

new_user_confirmation GET /users/confirmation/new(.:format)  {:action=>"new", :controller=>"devise/confirmations"} 

我對新確認電子郵件操作的鏈接如下:

<%= link_to "Didn't receive unlock instructions?", new_user_confirmation %> 

點擊此鏈接重定向我到URL /users/confirmation/new.user,但我得到的路由錯誤:

Routing Error

No route matches {:controller=>"devise/tournaments", :action=>"results"}

哪個怪我,因爲設計沒有任何與我的比賽控制器,也不是任何色器件相關有史以來引用我的比賽控制器功能。

我用Rails 3.1和2.1.2制定

回答

0

的問題實際上是從所有的地方我的應用程序佈局朵朵。到目前爲止,我唯一需要處理的設計視圖是註冊視圖和sign_up視圖,它們都不默認地呈現佈局。當然,我做了這樣一個假設,即這個頁面不會這樣,所以我不知道要留意它。

在我的應用程序佈局中,我有一條鏈接到上面的:controller=>"devise/tournaments", :action=>"results",只是將其更改爲命名的路線tournament_results_path解決了我的問題。