Rails 3设计确认路由错误

时间:2012-07-17 19:03:01

标签: ruby-on-rails-3 devise rails-routing devise-confirmable

我遇到了Devise的一个奇怪的路由问题。最近我通过Devise为我的Rails应用添加了电子邮件确认,我正在尝试设置确认/新操作,以便用户可以在注册后重新发送电子邮件确认。

所以这是我的Devise用户身份验证的当前路由设置:

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

在运行rake路线之后,这就是我想要的相关新确认路径:

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

我对新确认电子邮件操作的链接如下:

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

点击此链接会将我重定向到网址/users/confirmation/new.user但我收到路由错误:

  

路由错误

     

没有路线匹配{:controller =&gt;“devise / tournaments”,   :动作=&gt; “中的结果”}

这对我来说很奇怪,因为Devise与我的锦标赛控制器无关,我的锦标赛控制器也没有参考任何与设计相关的功能。

我正在使用Rails 3.1和Devise 2.1.2

1 个答案:

答案 0 :(得分:0)

问题实际上源于我所有地方的应用程序布局。到目前为止,我必须处理的唯一设计视图是注册视图和sign_up视图,它们都没有默认渲染布局。当然,我假设这个页面不会这样,所以我不知道要注意它。

在我的应用程序布局中,我有一个链接到上面的:controller=>"devise/tournaments", :action=>"results"的路由,只需将其更改为指定的路由tournament_results_path即可解决我的问题。