我有一个Rails 3邮件工作正常。
class Notifier < ActionMailer::Base
def cool_email(user_id)
@user = User.find_by_id(user_id)
mail(to: @user.email,
from: 'admin@example.com',
subject: 'hi'
)
end
end
此视图将正确呈现@user实例变量,并且发送电子邮件没有任何问题。
但是,当我命名邮件时,一切都会中断。邮件的结构是这样的。
class Foo::Notifier < ::ActionMailer::Base
def cool_email(user_id)
@user = User.find_by_id(user_id)
mail(to: @user.email,
from: 'admin@example.com',
subject: 'hi'
)
end
end
在app / view / foo里面的视图,Rails无法找到html模板。电子邮件发送,但身体内部没有任何内容。
我做错了什么?
答案 0 :(得分:3)
视图应存储在app/view/foo/notifier
中,特别是app/view/foo/notifier/cool_email.EXTENSION
。
仅供参考,将Mailer
附加到邮件程序名称始终是一个好习惯。
class Foo::NotifierMailer < ::ActionMailer::Base
或
class Foo::NotificationMailer < ::ActionMailer::Base
它可以防止冲突,并且可以立即理解类的范围。