【发布时间】:2014-02-09 01:47:06
【问题描述】:
我想创建一个具有基本结构的应用程序:一堆控制器、模型、视图、语言环境、配置等。该应用程序位于我服务器的特定路径中(称为:PATH1)。
我希望其他同事能够在不修改原始文件的情况下扩展/覆盖这些文件。他们可能想要自定义视图或向现有模型添加字段,甚至向现有控制器添加方法。 他们应该工作并将他们的文件放在专用目录中的同一台服务器中(称为:PATH2)
主要是他们无法访问原始代码库,只能扩展它。
最终的应用程序照常运行,从 PATH1 和 PATH2 加载所有文件。 我已经阅读了 Rails Engines,我想知道我是否可以使用它们来实现这个结果。
有人对此类基础设施有经验吗?
非常感谢;)
【问题讨论】:
-
我只能通过建议使用 API 来做出贡献,但除此之外,我需要看看如何做到这一点!我可以问一下您为什么要以这种方式构建它吗?
-
有很多员工(前端开发人员、设计师等)无法读取/复制他们使用的应用程序的底层框架。他们的目标是创建多个具有不同特性的 Rails 应用程序(为不同的客户端运行)(它们创建自定义视图、添加字段等)。与 RefineryCMS 类似的情况,您可以在其中创建自定义扩展。
-
你为什么不做一个宝石?
-
原因是那些人很少或根本没有使用 Rails 的经验,我希望他们遵循严格的指导方针并创建少量文件(主要是视图),而不是整个 Rails 框架。我想使用的过程是:我为每个人创建一个应用程序的框架,将每个人配置为被用户的文件覆盖,用户在其目录上工作,应用程序在网络上运行! :) 你有什么想法吗?
-
也许 Rails 不是这项工作的合适工具 - 听起来你最好创建一个框架,让人们可以使用它(比如 Wordpress)
标签: ruby-on-rails architecture