【发布时间】:2017-09-28 21:18:55
【问题描述】:
所以我正在开发一个 Rails 引擎并生成了一个邮件程序,将我的观点放入
app/
views/
my_engine/
user_mailer/
account_activation.html.erb
account_activation.text.erb
配置虚拟应用程序以显示我添加的预览
test/dummy/config/environments/development.rb
config.action_mailer.preview_path = MSearcher::Engine.root.join('test/mailers')
test/mailers/previews/my_engine/user_mailer_preview.rb
module MyEngine
class UserMailerPreview < ActionMailer::Preview
def account_activation
User.first
UserMailer.account_activation(user)
end
end
end
现在如果我创建我的邮件
/app/mailers/my_engine/user_mailer
module MyEngine
class UserMailer < Application Mailer
def account_activation(user)
mail to: user.email, subject: "Account Activation"
end
end
end
有了这个我可以导航到 localhost:3000/rails/mailers/my_engine/users_mailer/account_activation
我在哪里得到错误
Template is missing
Missing template layouts/mailer with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee]}.
Searched in: *
"/home/me/workspace/rails/my_engine/test/dummy/app/views" *
"/home/me/workspace/rails/my_engine/app/views"
所以默认行为是在应有的文件夹上方的文件夹中查找我的模板。如何配置正确的行为?
【问题讨论】:
标签: ruby-on-rails actionmailer rails-engines