我一直把它们放在顶层。我想知道将它们放在lib中更合乎逻辑。是否有普遍的共识或惯例?
答案 0 :(得分:3)
vendor/engines
是我的默认选择。
答案 1 :(得分:2)
我通常将它们设为gems(通过使用bundle gem
命令创建它们)并将它们保存为GitHub上的separate projects。然后我可以将它们包含在我的应用程序中:
gem 'forem', :git => "git://github.com/radar/forem"
这样,我可以对我的应用程序进行提交,并让它们与我的引擎的提交分开。
这样做的原因是因为引擎可以在多个应用程序之间共享,而且我不必多次进行相同的更改。