使用可插拔模块,配置和视图构建可扩展和模块化的Rails应用程序

时间:2014-02-08 12:53:15

标签: ruby-on-rails architecture

我想创建一个具有基本结构的应用程序:一堆控制器,模型,视图,语言环境,配置等。应用程序存在于我的服务器的特定路径中(称之为:PATH1)。

我希望其他同事能够在不修改原始文件的情况下扩展/覆盖这些文件。他们可能希望自定义视图或向现有模型添加字段,甚至可以向现有控制器添加方法。 他们应该工作并将他们的文件放在同一个服务器的专用目录中(称之为:PATH2)

重点是他们无法访问原始代码库,只能扩展它。

最终的应用程序像往常一样运行,从PATH1和PATH2加载所有文件。 我读过关于Rails引擎的内容,我想知道我是否可以用它们来实现这个结果。

任何人都有这种基础设施的经验吗?

非常感谢;)

1 个答案:

答案 0 :(得分:0)

我会在railscast上阅读或观看这一集: http://railscasts.com/episodes/277-mountable-engines

这是一个免费的插曲,应该指向正确的方向。如果这不是您想要/需要的,您将不得不创建一个数据库驱动的方法,人们可以添加路径名,然后通过基于Web的编辑器添加他们的代码,该编辑器存储在数据库中并在加载时执行。如果您或其他开发人员不确切知道他们在做什么,我会以这种方式向您保证您遇到安全问题。

另一个选择是使用类似炼油厂的东西,这是一个可扩展的CMS系统,人们可以减少损害:)