Rails 4列出已安装的引擎

时间:2014-12-02 19:58:07

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

在Rails 3中,我能够将安装(或可安装)引擎与其他"其他"发动机通过调用 MyEngine::Engine.class.mounted_path。这在Rails 4中不再起作用。基于此question,铁路似乎已被弃用。

如何区分Rails 4中的可安装引擎?

2 个答案:

答案 0 :(得分:1)

Rails::Engine.subclasses

这将返回已安装的引擎。

答案 1 :(得分:0)

我使用here找到的建议创建了我自己的mounted_path方法。

我将以下内容放在初始化文件中:

class Rails::Engine
  def self.mounted_path
    route = Rails.application.routes.routes.detect do |route|
      route.app == self
    end
    route && route.path
  end
end

仍在寻找更好的答案。