我在使用 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 %>
单击此链接会将我重定向到 url /users/confirmation/new.user
,但我收到路由错误:
路由错误
没有路线匹配 {:controller=>"devise/tournaments", :action=>"results"}
这对我来说很奇怪,因为 Devise 与我的比赛控制器无关,我的比赛控制器也从未在任何与设计相关的功能中引用。
我正在使用 Rails 3.1 和 Devise 2.1.2