我有一个控制器Partners
我想要服务于http://partners.example.com
Rails 3.1中是否有内置的东西,我可以用于没有搞乱httpd.conf
或创建另一个虚拟主机?
routes.rb条目对此有什么影响?
非常感谢任何帮助。
PS。我不是在这里做通配符子域 - 只是一个子域。
更新:我已经让子域与下面的Ahmish解决方案一起使用,但现在所有其他路由也会对该子域做出响应。有没有办法让子域名完全响应指定的控制器?
答案 0 :(得分:2)
您应该可以使用routes.rb更新来完成此操作。在rails routing guide中查看基于请求的约束。
答案 1 :(得分:2)
确实可以。
如果PartnersController是基于REST的控制器,就像在resources
的调用中添加约束选项一样简单。
resources :partners, :constraints => { :subdomain => "partners" }
或者,可以使用块调用constraints
,并且块内的所有路由调用都将受设置子域约束。
constraints :subdomain => "partners" do
resources :partners
...
end
对没有正确子域的受约束URL的请求将抛出RoutingError
。