Rails 引擎:获取父应用的名称

Rails engine: get parent app's name

我想知道可挂载的 Rails 引擎是否可以检索它所挂载的父应用程序的名称。

我查看了 official Rails engine guide,但找不到任何内容。有任何来源或想法吗?

我很惊讶一年多来没有人回答这个问题。您可以使用:

Rails.application.class.parent.name

根据您使用它的位置,您可能需要确保从根 rails 模块开始,这是一个更安全的选择:

::Rails.application.class.parent.name

截至 2021 年,Rails 6.x/Ruby 2.7,class 没有方法 #parent

我使用:

::Rails.application.class.module_parent

获取安装了我的引擎的应用程序的(技术)名称。