ruby-on-rails – ActionMailer错误的参数个数错误

我有一个rails应用程序,允许您请求邀请注册.根据要求,我保存您的电子邮件并向您发送一封电子邮件,表示感谢“您已请求加入”.由于某种原因,UserMailer.request(@request).deliver行在RequestsController中创建了这个错误ArgumentError #create – 错误的参数个数(0表示1)

有任何想法吗?

请求控制器

class RequestsController < ApplicationController
  def new
    @request = Request.new
  end

  def create
    @request = Request.new(params[:request])
    if @request.valid?
      if User.find_by_email(@request.email) || Invitation.find_by_email(@request.email)
        redirect_to log_in_path,notice: "Email already in use"
      elsif @request.save
        @request.save
        redirect_to root_url,:notice => "Request sent."
        UserMailer.request(@request).deliver
      end
    else
        render "new"
    end
  end
end

request.html.haml

You have requested to join in

邮寄/ user_mailer.rb

class UserMailer < ActionMailer::Base
  def request(request)
    @request = request
    mail(:to => request.email,:subject => "Requested an invite",:from => 'alain@lootfly.com')
  end
end

解决方法

我认为请求是一个保留字.尝试更改为request_mail,看看它是否有效.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...