我创建了一个定义Rails::Railtie
的宝石。 一切都按预期工作,除了我必须在我的application.rb
中包含宝石(lib/gem.rb
)的主文件,以便它被执行。自动需要宝石
有没有办法自动做到这一点? 我检查了一些宝石,但我无法弄清楚如何。
我创建了一个定义Rails::Railtie
的宝石。 一切都按预期工作,除了我必须在我的application.rb
中包含宝石(lib/gem.rb
)的主文件,以便它被执行。自动需要宝石
有没有办法自动做到这一点? 我检查了一些宝石,但我无法弄清楚如何。
解决了它。
我的宝石的名字是从文件的名称(gem-name
VS lib/gem_name.rb
)略有不同,所以我必须把这个给我Gemfile
:
gem 'gem-name', require: 'gem_name'
我相信,如果您将宝石名称更改为gem_name,则不需要在此处指定:require:'gem_name''。 – Surya 2014-10-11 19:46:14
我不确定,但这可能有所帮助:http://guides.rubygems.org/patterns/#consistent-naming和http://guides.rubygems.org/name-your-gem/了解文件命名约定红宝石。 – Surya 2014-10-11 19:48:58
啊我明白了。这应该意味着我也可以把我的gem文件放在''lib/gem/name.rb''上,它应该可以工作。 Ima试试看 – tonekk 2014-10-11 19:52:32
是在你的负载路径的lib目录? – Max 2014-10-11 19:39:25
当你说:'gem'gem_name'' Rubygems将它注入到你的require链中。现在,你要加载的gem文件应该是'gem_name/lib/gem_name.rb'你确定你已经遵循了这个结构吗? – Surya 2014-10-11 19:40:25
完全是这个问题。 – tonekk 2014-10-11 19:43:08