2014-10-11 60 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