2012-07-17 112 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解决了我的问题。