我刚刚开始在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 =>"验证"}
这是我重定向的控制器的代码
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
答案 0 :(得分:2)
我认为Verify
(单数)作为控制器名称不会被resources
轻松映射,而只是添加自定义匹配
get '/verify/sendmail', to: 'verify#sendmail', as: :verification_mail
然后做
redirect_to verification_mail_path