gpt4 book ai didi

ruby-on-rails - Rails 2.3.5引擎(插件)如何指定gem要求

转载 作者:行者123 更新时间:2023-12-04 05:45:02 24 4
gpt4 key购买 nike

在 2.3.5 中创建 Rails 引擎作为插件时,如何在插件中设置 gem 依赖项,而不必将它们导入到主机应用程序 environment.rb 中?

基本上,我需要能够在 environment.rb 调用 Initializer.run 后调用“config.gem”,因为当配置 block 在范围内时插件尚未加载。

没有为此应用程序使用 bundler 。

最佳答案

我认为您可以在 init.rb 中运行 Rails Initializer,例如:

Rails::Initializer.run do |config|
config.gem 'fastercsv', :version => '1.4.0'
config.gem 'liquid', :version => '2.0.0'
end

如果把它放在 init.rb 中不调用它,我们的一个引擎有一个引导文件,它只包含一个类,该类的方法包含与上面相同的 Initialiser 内容。例如:

class MyBootClass
def self.boot_up
Rails::Initializer.run do |config|
config.gem 'fastercsv', :version => '1.4.0'
config.gem 'liquid', :version => '2.0.0'
end
end
end

在environment.rb中需要bootfile,类方法调用eg

require "#{File.dirname(__FILE__)}/../vendor/plugins/.../bootfile.rb"
MyBootClass.boot_up

关于ruby-on-rails - Rails 2.3.5引擎(插件)如何指定gem要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3284414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com