在我的Rails应用Gemfile中,我有gem 'myfancygem', path: '/Users/matt/myfancygem'
这可以按照您的预期进行。
然后我在gem中添加了一个配置块功能,la https://robots.thoughtbot.com/mygem-configure-block(还有许多其他功能都是轻微的变种)
我在我的Rails应用程序中使用标准创建了一个初始化程序myfancygem.rb:
Myfancygem.configure do |config|
config.favorite_color = 'red'
end
当运行我的本地应用程序(在rails控制台或rails服务器中)时,那个favorite_color不会被设置。它保持在gem(nil
)
但是,如果我将该gem推送到rubygems并正常加载它(即Gemfile中没有path
位),初始化程序配置将按预期工作。
为了防止我在我的gem中做了一些疯狂的事情,我git克隆了ReactOnRails gem的最新副本,它做了几乎相同的配置方法。然后我通过path
将我的Gemfile指向了本地的ReactOnRails。你猜怎么着?同样的问题。我为ReactOnRails的Rails应用程序设置的初始化程序似乎被忽略了。我甚至在初始化程序中添加了puts
个语句,以证明它们已被执行并且正在设置配置,但是它会在Rails.application.initialize!
中的environment.rb
后立即重置为默认值
这是Rails中的已知错误吗?还是Bundler?或者其他的东西?还是有一些我失踪了?或者我可能做错的事情,我没有意识到?