我正在构建我的邮件发送程序,但是我一直遇到以下问题:
参数数量错误(0个参数应该是1个)
可能有点疯狂,但我觉得我已经正确定义了所有内容:
控制器(为简洁起见省略部分内容):
def create
@cms484 = Cms484.new(cms484_params)
respond_to do |format|
if @cms484.save
SendLink.message(@cms484).deliver_later
format.html { redirect_to cms484s_path, notice: 'Cms484 was successfully created.' }
format.json { render :show, status: :created, location: @cms484 }
else
format.html { render :new }
format.json { render json: @cms484.errors, status: :unprocessable_entity }
end
end
SendLink.rb:
class SendLink < ApplicationMailer
def message(cms484)
@cms484 = cms484
mail(
:subject => 'Hello from Postmark',
:to => @cms484.recipient ,
:from => 'info@mysite.com',
:html_body => '<strong>Hello</strong> user!.',
end
end
是只有我看到了大海捞针还是我漏看了其他东西?
如果有关联的话,我正在使用Postmark进行交付,并按照说明书在我的application.rb文件中定义了这些参数。不过我认为这应该是一个更简单的问题。
编辑 完整的错误内容:
Completed 500 Internal Server Error in 76ms
ArgumentError (wrong number of arguments (0 for 1)):
app/mailers/send_link.rb:2:in `message'
app/mailers/send_link.rb:4:in `message'
app/controllers/cms484s_controller.rb:38:in `block in create'
app/controllers/cms484s_controller.rb:36:in `create'
SendLink.rb
文件中的mail
函数中,把逗号放错位置了,应该是放在右括号后面。 - Sri Harsha Kappala