使用Rails进行代码覆盖和多租户

时间:2012-05-22 13:46:50

标签: ruby-on-rails ruby-on-rails-3 multi-tenant

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

用路线做这件事怎么样?

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

研究routing from the outside in以获取有关资源和命名空间的一些想法。