1

所以我已经阅读了有关如何使用 Rails 3 子域约束和 url 帮助器的所有内容,这对大多数应用程序都非常有用。例如,如果我想要一个管理子域(我这样做),我可以使用:

constraint :subdomain => :admin
  scope :module => :admin
    defaults :subdomain => 'admin'

但是我的应用程序在许多(客户的)域上运行,并且通常在它的子域上运行。所以,像directory.customer.com. 现在,如果我将该逻辑应用于admin.directory.customer.com,Rails 的东西directory是子域的一部分,所以我必须这样做:

constraint :subdomain => /^admin.*/
  scope :module => :admin
    defaults :subdomain => 'admin'

这很棒,只需将任何统计信息与 admin 匹配的子域,但是在使用 url 帮助程序时,它不是很好,因为我设置的默认子域 ( admin) 不包括客户的子域部分 ( directory)。

将 :host 选项设置为directory.customer.com似乎无法解决此问题,url 帮助程序仍然返回admin.customer.com. 有什么方法可以设置它,以便 url 助手“知道”它directory.customer.com是 :host 的全部部分,并且子域不应该覆盖主机名的那部分?必须有一种我可以修改的方法,或者让它保持主机名完整的方法,对吧?

4

0 回答 0