Ruby on rails 布尔值检查是否安装了rails引擎?

Ruby on rails 布尔值检查是否安装了rails引擎?,ruby-on-rails,rails-engines,Ruby On Rails,Rails Engines,我已经将一个较大的项目拆分为可安装的rails引擎,我想找到一种方法来检查是否安装了rails引擎。 例如,我的主应用程序中有一个用户类 user.rb class User < ApplicationRecord has_many :searches, as: :searchable, class_name: MySearchEngine::Search end class用户

我已经将一个较大的项目拆分为可安装的rails引擎,我想找到一种方法来检查是否安装了rails引擎。 例如,我的主应用程序中有一个用户类

user.rb

class User < ApplicationRecord
    has_many :searches, as: :searchable, class_name: MySearchEngine::Search
end
class用户

我想将这有很多关联以及引擎集成的其他代码包装在一个if语句中,这样它只会在安装MySearchIne时添加代码

您应该能够通过
定义检查它们是否可用?mysearchenine::Search

您应该能够通过定义的
检查它们是否可用?mysearchenine::Search

您需要多长时间安装/卸载一次引擎以检查它是否已安装?或者你只是想在你的模型中将代码保存在一个很好的小的不同的块中,在这种情况下,你可以将用户的所有关联都打包在一个
mysearchenine::UserConcerns
模块或者其他什么模块中,并将其包括在内。您还可以查看并设置应用程序的配置值,使其仅包含/不包含一次内容,但当我查看了所有引用引擎的地方(如果引擎未安装,则需要注释掉这些地方),我就开始研究这个问题。在示例中,我如何使用配置值?您需要多长时间安装/卸载一次引擎以检查它是否已安装?或者你只是想在你的模型中将代码保存在一个很好的小的不同的块中,在这种情况下,你可以将用户的所有关联都打包在一个
mysearchenine::UserConcerns
模块或者其他什么模块中,并将其包括在内。您还可以查看并设置应用程序的配置值,使其仅包含/不包含一次内容,但当我查看了所有引用引擎的地方(如果引擎未安装,则需要注释掉这些地方),我就开始研究这个问题。如何在示例中使用配置值?我在使用erb的视图中使用它时遇到问题。如果使用此方法在If块中使用引擎中定义的路径包装链接标记,则块中的链接标记仍会得到计算,并给出错误未定义的局部变量或方法“my_search_engine”。理想情况下,该标记根本不会被计算,因为它位于if块内。因此,视图可能需要另一种方法。我认为这在我的控制器和模型中是可行的。我在使用erb的视图中使用它时遇到了问题。如果使用此方法在If块中使用引擎中定义的路径包装链接标记,则块中的链接标记仍会得到计算,并给出错误未定义的局部变量或方法“my_search_engine”。理想情况下,该标记根本不会被计算,因为它位于if块内。因此,视图可能需要另一种方法。我认为这在我的控制器和模型中是可行的。