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

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