2

我即将使用 Ruby On Rails构建一个多租户应用程序。每个客户端都将通过 YAML 文件(或最终存储在数据库中的任何东西,无论工作如何)拥有自己的个性化配置。鉴于销售流程和每个客户所需的配置数量,开发团队将构建配置文件。预期客户数少于 100。

您如何覆盖特定客户端的代码(控制器、视图、布局)(即:每个客户端一个模块?)如何在 Rails 中完成?

4

2 回答 2

1

您可以为每个客户拥有模块,并且在您的控制器内部,您可以动态地需要相应的模块。假设你有 current_user 实例,在 ApplicationCONtroller 中你可以有 before_filter 加载一个实例变量 @client_module 并且该变量可以在你的控制器内部使用来扩展你的控制器。您可能希望为每个控制器的每个客户端执行一个模块,以使生活更轻松

于 2012-05-22T15:45:24.880 回答
0

用路线做这个怎么样?

    get ":client/:controller/:action/:id"

从外向内研究路由以获得一些关于资源和命名空间的想法。

于 2012-05-22T20:13:07.037 回答