【发布时间】:2017-08-25 21:46:54
【问题描述】:
我已将一个较大的项目拆分为可安装的 rails 引擎,我想找到一种方法来检查是否安装了 rails 引擎。 例如,我的主应用程序中有一个 User 类
用户.rb
class User < ApplicationRecord
has_many :searches, as: :searchable, class_name: MySearchEngine::Search
end
我想将这个 has_many 关联以及其他用于引擎集成的代码包装在 if 语句中,以便它仅在已安装 MySearchEngine 时添加代码
【问题讨论】:
-
您多久安装/卸载一次需要检查是否已安装的引擎?还是您只是想将代码保留在模型中漂亮的小块中,在这种情况下,您可以为用户包装所有关联,例如
MySearchEngine::UserConcerns模块或诸如此类的东西并包含它。您还可以查看Custom configuration 并为您的应用设置配置值以包含/不包含内容 -
只有一次,但是当我查看所有提到引擎的地方时,如果引擎未安装,则需要注释掉,我开始研究这个。在示例中如何使用配置值?
标签: ruby-on-rails rails-engines