即使定义了路由,也没有路由匹配

时间:2015-02-21 18:50:47

标签: ruby-on-rails routes

我刚刚开始在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

1 个答案:

答案 0 :(得分:2)

我认为Verify(单数)作为控制器名称不会被resources轻松映射,而只是添加自定义匹配

get '/verify/sendmail', to: 'verify#sendmail', as: :verification_mail

然后做

redirect_to verification_mail_path