【发布时间】:2012-11-25 08:03:08
【问题描述】:
我有一个 Rails 应用程序,我想为不同的站点提供服务,这些站点通过域名进行区分。虽然代码相同,但配置不同。可能所有应用程序的数据都将放在一个具有不同表前缀的数据库中。我正在使用 rails3 并且可以定义表前缀(虽然我没有检查 rails2,可能也有)。
我试图找到关于这个主题的类似问题,虽然我找到了......一些否定的答案,告诉 rails 不是为此而设计的,但是在 rails 3 主要版本之后,也许有可能......因为它变得更加模块化,更干净,我非常感激。
我目前解决所描述问题的想法如下:
- 当请求到达时,中间件会捕获域名
- 根据域名识别前缀,但自然只针对实际请求
- activerecord 的 table_prefix 读取器将被更改,而不是返回为实际域定义的前缀
- .. 可能会有一些其他配置需要反映在实际域中
我想问是否值得尝试。我应该认识到哪些可能的陷阱?或者我在这里试图解决的问题已经有了宝石?你会如何尝试解决这个问题?
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails-3