2013-12-05 2 views
1

Мне действительно нужна помощь, и я провел последние несколько дней, как выяснять, что пошло не так на эту мелочь.Ruby on Rails 3 actionmailer subject line issue

Моя спецификация: Rails 3.2.8 рубин 1.9.3 ActionMailer 3.2.8

Я могу отправить электронную почту без проблем, но сюжетная линия не работает. Независимо от того, какое значение я ставлю: субъект и тема электронной почты всегда - это имя метода, которое в этом случае «commentadded».

Например:

class Notification < ActionMailer::Base 
default from: "[email protected]" 


def commentadded (users,ccusers, project) 
    @msgsub = "Comment of #{project.title} has been created"   
    @users = users.collect(&:email).join(",")   
    @ccusers = ccusers.collect(&:email).join(",") 
    @project= project 
    mail(:to => @users, :cc => @ccusers, :subject => @msgsub) 
    mail.deliver 

end 

end 

Я попытался жёстко строку темы: предмет => «предмет тестирования», но тема все еще «commentadded»

И когда я поставил предмет строку по умолчанию в на в верхней части файла (по умолчанию тема: «XXXXX»), тогда он работает, но это не так, как я хотел, так как у меня есть разные типы шаблонов электронной почты.

Я ценю любые помощь.

Спасибо,

Wing

+0

Не могли бы вы опубликовать полноту Мейлер файла в вопросе? –

+0

Можете ли вы обновить свой код сейчас, когда вы переименовали переменную @subject? –

+0

Любое решение? У меня точно такая же проблема – Eduard

ответ

0

Вы должны избегать использования имени @subject. Измените имя переменной и все должно работать ...

here См

+0

Спасибо за советы. Я просто попытался переименовать @subject в другое имя, все еще используя имя метода в качестве темы. Даже я жестко обозначил строку темы: subject => «test subject», и он все еще показывает неправильный. – Wing

+0

В дополнение к изменению вызова метода почты, вы устранили использование @subject в своем коде? – davidrac

+0

есть. Во всем проекте нет объекта @. – Wing