Rails引擎无法加载邮件

时间:2015-04-22 16:57:58

标签: ruby-on-rails ruby ruby-on-rails-4 rails-engines

我正在使用我的应用内的引擎并在engines/MY_ENGINE/app/mailers内为此引擎创建邮件程序,但我得到了uninitialized constant MY_ENGINE::TicketMailer

通过执行puts $:检查加载的路径我看到rails在app文件夹中加载了资产,控制器,模型和帮助程序,但没有加载邮件程序。

有没有办法解决这个问题并添加要加载的路径?

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。显然mailers文件夹没有自动加载,但您可以手动将文件夹添加到加载路径中,将{1}}这样的行添加到您的engine.rb

paths['app/mailers'] << 'MY_ENGINE/app/mailers'

像这样:

module MY_ENGINE
  class Engine < ::Rails::Engine
    isolate_namespace MY_ENGINE
    paths['app/mailers'] << 'MY_ENGINE/app/mailers'
  end
end

解决了这个问题。