2016-05-26 62 views
0

我試圖從我的Contact模型創建一個郵件程序(ContactMailer),該模型將信息從基本表單保存到數據庫。它正確地保存到數據庫,但我的郵件程序方法出現錯誤。Mailer生成語法錯誤:意外的' n',期待::或'['或'。'

它調用的syntax error, unexpected '\n', expecting :: or '[' or '.',突出了我的模型代碼的第一個end

class Contact < ActiveRecord::Base 
    after_create :send_contact_emails 

    private 

    def send_contact_emails 
    for contacts do |contact| 
     ContactMailer.new_contact(name, email, message).deliver_now 
    end 
    end 
end 

這裏是我的contact_mailer.rb代碼:

class ContactMailer < ApplicationMailer 
    default from: "[email protected]" 

    def new_contact(name, email, comment) 
    @contact.name = name 
    @contact.email = email 
    @contact.message = message 

    mail(to: "[email protected]", subject: "New Contact Us Submission from #{name}") 
    end 
end 

任何得到這個工作的幫助,將不勝感激,因爲我廣泛的谷歌搜索沒有做到這一點。

+0

我想接觸的是模型的集合,用'contacts.each做|'的,而不是給定的for循環|接觸。 – unused

回答

0

試試這個:

class Contact < ActiveRecord::Base 
after_create :send_contact_emails 

private 

def send_contact_emails 
    ContactMailer.new_contact(self).deliver_now 
end 
end 

和:

class ContactMailer < ApplicationMailer 
    default from: "[email protected]" 

def new_contact(contact) 
    @contact = contact 
    mail(to: "[email protected]", subject: "New Contact Us Submission from #{@contact.name}") 
end 
end 
+0

對於這兩種情況,我都會爲#<聯繫人:0x007fae9caa9450>' – Liz

+0

'獲取未定義的本地變量或方法'聯繫人',您需要定義聯繫人變量當您調用'send_contact_emails'方法傳遞聯繫人時要使用的 –

+0

'變量爲 –

相關問題