簡體   English   中英

Ruby Mailer:錯誤的參數數量

[英]Ruby Mailer: Wrong number of arguments

我正在努力建立我的郵件,但我一直在努力:

參數個數錯誤(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'

我有一個類似的問題,我將我的ActionMailer方法命名為“消息”,結果發現它是Rails中的保留字並引發了錯誤。

我認為“郵件”是一個保留字,其中“電子郵件”不是。

SendLink.rb mail ...行看起來不對,將其更改為,

 mail(
  :subject => 'Hello from Postmark',
  :to  => @cms484.recipient ,
  :from => 'info@mysite.com',
  :html_body => '<strong>Hello</strong> user!.')

好的,所以我決定重寫它,看哪 - 它有效。 為什么或與以前的版本有什么不同(除了電子郵件與郵件的方法,肯定不是嗎?),我不知道。 如果你能看到它是什么, 指出給我!

Send_link.rb:

class SendLink < ApplicationMailer



def email(cms484)
    @cms484 = cms484
     mail(
  :subject => 'Hello from Postmark',
  :to  => @cms484.recipient ,
  :from => 'info@mysite.com',
)
  end
end

控制器:

def create
@cms484 = Cms484.new(cms484_params)

respond_to do |format|
  if @cms484.save
    SendLink.email(@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 

結束

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM