Heroku雪松,Rails 3.1rc6,子域路由

时间:2011-08-22 18:26:38

标签: routing heroku ruby-on-rails-3.1

在本地,在Unicorn上,我的子域设置正常。我已经跟随heroku subdomain docs到了字母,还有子域Railscast。 subdomain.lvh.me:3000指向正确的位置,并且lvh.me:3000正确指向routes.rb中定义的根:

  root :to => "pages#home"

然而,在我在Heroku的Cedar堆栈上的新分段部署中,再次使用Unicorn,而subdomain.mydomain.co.uk指向正确的位置,mydomain.co.uk没有。它不是按照路径文件转到#home页面,而是按照书籍控制器进行操作,如果url中存在子域名,它只是按照routes.rb的意思去做:

constraints(Subdomain) do
match '/' => 'books#show'
end   

我的DNS设置符合Heroku文档,主机命令返回文档应该说的内容。有任何想法吗?

1 个答案:

答案 0 :(得分:1)

将别名域添加到subdomain.rb:

class Subdomain
  def self.matches?(request)
    request.subdomain.present? && request.subdomain != "www" && request.subdomain != "nameofmydomain" 
  end
end