即使定义了路由,也没有路由匹配
No route match even when route is defined
我刚开始在 rails 工作。
我有一个控制器重定向到另一个控制器发送电子邮件进行 emailid 验证。
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
redirect_to :controller => 'verify', :action => 'sendmail'
else
format.html { render :new }
end
这是路由文件中的路由
资源:验证
但程序仍然返回错误
没有路由匹配 {:action=>"sendmail", :controller=>"verify"}
这是我要重定向到的控制器的代码
def sendmail
# type = 1 for email and 2 for reseting password
randomNumber=rand()
verification[:value]=BCrypt::Password.create(randomNumber, :cost => 1)
verification[:type] = 1
if verification.save
Usermail.registered(@verification).deliver
end
我认为 Verify
(单数)作为控制器名称不会轻易被 resources
映射,而只需添加自定义匹配项
get '/verify/sendmail', to: 'verify#sendmail', as: :verification_mail
然后做
redirect_to verification_mail_path
我刚开始在 rails 工作。 我有一个控制器重定向到另一个控制器发送电子邮件进行 emailid 验证。
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
redirect_to :controller => 'verify', :action => 'sendmail'
else
format.html { render :new }
end
这是路由文件中的路由 资源:验证 但程序仍然返回错误 没有路由匹配 {:action=>"sendmail", :controller=>"verify"}
这是我要重定向到的控制器的代码
def sendmail
# type = 1 for email and 2 for reseting password
randomNumber=rand()
verification[:value]=BCrypt::Password.create(randomNumber, :cost => 1)
verification[:type] = 1
if verification.save
Usermail.registered(@verification).deliver
end
我认为 Verify
(单数)作为控制器名称不会轻易被 resources
映射,而只需添加自定义匹配项
get '/verify/sendmail', to: 'verify#sendmail', as: :verification_mail
然后做
redirect_to verification_mail_path