具有子域的子域上的子域约束和url助手(子子域?)

时间:2012-06-13 21:30:00

标签: ruby-on-rails-3 rails-routing subdomain

所以我已经阅读了有关如何使用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的所有部分,子域不应该覆盖主机名的那一部分?必须有一个我可以修改的方法或者让它保持主机名完整的东西,对吗?

0 个答案:

没有答案