我在 Ruby on Rails 3.2 的邮件模板中有这个动作:
# password_reset.text.erb
<%= edit_password_reset_path(@user.password_reset_token) %>
不幸的是,当我点击该链接时,我收到了一个奇怪的路由错误:
No route matches {:action=>"edit", :controller=>"password_resets", :locale=>"Ze92D45dUPpfwsgbFmpYeg"}
奇怪的是,locale
似乎包含password_reset_token
这里而不是语言环境(例如en
或de
)。
所以我猜这edit_password_reset_path
没有自动本地化,导致错误?
这怎么可能解决?
这里有更多信息:
class PasswordResetsController < ApplicationController
def edit
@user = User.find_by_password_reset_token!(params[:id])
end
end
# routes.rb
scope '(:locale)' do
resources :password_resets
....
end