我正在考虑将网站的各个方面作为Rails插件进行重用。我的问题是关于发展过程。由于这些插件中的每一个都将提供“切片”功能,我应该开发每个“切片”作为它自己的应用程序,然后将每个应用程序的代码提取到插件中吗?或者,我应该在应用程序中将它们作为插件编写吗?最终,我将链接到每个站点的这些插件以使其保持干燥状态。
我想主要的问题是创建多个“Engine”类型插件的开发过程是什么?
提前感谢您的帮助。
答案 0 :(得分:1)
任何一种方法都是有效的。
在编写基本插件时,我通常会发现与使用它的应用程序一起编写它更容易。因为我发现设计/测试已经存在的东西更容易。
然而,当涉及到Engine插件时,我更喜欢将它们作为一个单独的应用程序开发,然后在将它移动到插件时删除所有不必要的位。它们本质上是迷你应用程序,当安装在新创建的rails项目上时,它们应该完全正常运行。
通过将它们设计为自己的应用程序,我确保适当的划分。这确保我不会意外地引用不属于我正在开发的引擎的代码模型/控制器/视图/帮助程序。
如果您正在以这种方式开发多个引擎类型插件,您可能希望使用实用程序脚本压缩一些步骤。例如简化将应用程序转换为Engine插件的过程。
它应该根据需要重新构建您的应用程序并填充插件应该具有的文件,例如init.rb。
答案 1 :(得分:0)
您可能还希望了解Desert框架。