你把你的引擎放在你的Rails项目中的哪个位置?

时间:2012-01-17 22:37:28

标签: ruby-on-rails ruby ruby-on-rails-3

我一直把它们放在顶层。我想知道将它们放在lib中更合乎逻辑。是否有普遍的共识或惯例?

2 个答案:

答案 0 :(得分:3)

vendor/engines是我的默认选择。

答案 1 :(得分:2)

我通常将它们设为gems(通过使用bundle gem命令创建它们)并将它们保存为GitHub上的separate projects。然后我可以将它们包含在我的应用程序中:

gem 'forem', :git => "git://github.com/radar/forem"

这样,我可以对我的应用程序进行提交,并让它们与我的引擎的提交分开。

这样做的原因是因为引擎可以在多个应用程序之间共享,而且我不必多次进行相同的更改。