我正在研究可以逻辑分组为核心引擎和业务领域模块的应用程序。业务领域模块基本上封装了特定于我们客户业务的代码。我们最初使用我们的核心引擎的根轨结构将其分开,并将所有客户代码放在单独的插件中。是否使用Rails插件进行模块化?
但是我们遇到了各种各样的问题,其中大部分可能会放在开发环境中的Rails类重新加载。尽管我们已经设法大量工作,但我们遇到了Rails错误,并且部分卸载类与Rails.cache结合在一起。
我想知道的是,我们是否在滥用Rails插件的预期使用模式?正在打包我们的应用程序的各个方面,因为插件是正确的举措?有没有更好的方法来做到这一点?或者我们应该宁愿战士解决这些剩余的问题?
我们现在正在将插件作为模块在根轨结构中重写,但我必须承认我更喜欢插件迷你应用程序目录结构的优雅。
Brendon McLean。
很高兴知道其他人在生产中成功使用Rails引擎。但我不确定团队是否会容忍关闭动态重新加载(尤其是接近前端的那些)。也许我会再试一次试图解决我们不完整的卸载类问题。 – 2010-06-26 11:04:42
感谢您的回答。我已经做出了让插件/引擎更加高效的方法。新增了config.reload_plugin = true,并将所有内容放在轨道友好的位置。我还为开发创建了一个空缓存,它永远不会缓存任何内容。我认为这解决了我们的插件问题。 – 2010-06-30 13:51:43