2014-10-11 63 views
0

我创建了一个定义Rails::Railtie的宝石。 一切都按预期工作,除了我必须在我的application.rb中包含宝石(lib/gem.rb)的主文件,以便它被执行。自动需要宝石

有没有办法自动做到这一点? 我检查了一些宝石,但我无法弄清楚如何。

+0

是在你的负载路径的lib目录? – Max 2014-10-11 19:39:25

+1

当你说:'gem'gem_name'' Rubygems将它注入到你的require链中。现在,你要加载的gem文件应该是'gem_name/lib/gem_name.rb'你确定你已经遵循了这个结构吗? – Surya 2014-10-11 19:40:25

+0

完全是这个问题。 – tonekk 2014-10-11 19:43:08

回答

0

解决了它。

我的宝石的名字是从文件的名称(gem-name VS lib/gem_name.rb)略有不同,所以我必须把这个给我Gemfile

gem 'gem-name', require: 'gem_name'

+0

我相信,如果您将宝石名称更改为gem_name,则不需要在此处指定:require:'gem_name''。 – Surya 2014-10-11 19:46:14

+1

我不确定,但这可能有所帮助:http://guides.rubygems.org/patterns/#consistent-naming和http://guides.rubygems.org/name-your-gem/了解文件命名约定红宝石。 – Surya 2014-10-11 19:48:58

+0

啊我明白了。这应该意味着我也可以把我的gem文件放在''lib/gem/name.rb''上,它应该可以工作。 Ima试试看 – tonekk 2014-10-11 19:52:32