我正在制作一个添加常用宝石进行开发的宝石,例如子弹宝石。
我想添加到应用程序的 development.rb 配置文件中,这样我就可以配置项目符号 gem,而不必从应用程序的配置文件中进行配置。
据我所知,应用程序的开发配置文件被命名为与应用程序名称间隔开(“SomeApp::Application.configure”)。那么我如何最好地从 gem 中动态添加这个文件呢?
我正在制作一个添加常用宝石进行开发的宝石,例如子弹宝石。
我想添加到应用程序的 development.rb 配置文件中,这样我就可以配置项目符号 gem,而不必从应用程序的配置文件中进行配置。
据我所知,应用程序的开发配置文件被命名为与应用程序名称间隔开(“SomeApp::Application.configure”)。那么我如何最好地从 gem 中动态添加这个文件呢?
您最好的选择可能是通过创建一个继承自的类并确保它在加载时被 gem 包含来将您的 gem 设置为rails 引擎。Rails::Engine
在您的引擎中,您可以将任何设置工作作为初始化程序块的一部分:
module MyGem
class Engine < Rails::Engine
initializer "my_gem.setup_environment" do |app|
case Rails.env
when 'development'
# do something
else
# do something else
end
end
end
end
与Railtie。您可以访问在其他 Railties 和应用程序之间共享的配置对象:
class MyRailtie < Rails::Railtie
config.to_prepare do
MyRailtie.setup!
end
end