rails 3.0子域和格式

时间:2011-12-29 15:24:33

标签: ruby-on-rails-3 mime-types subdomain

我有2个子域,指向一个rails应用程序。我的rails应用程序的控制器应该同时服务于两个子域。

让我们调用子域名www.mydomain.com和demo.mydomain.com。我希望2完成3件事:

  1. 确保只有部分控制器服务于www.mydomain.com,有些服务器同时服务于这两个域。
  2. 确保我的控制器操作的一部分仅服务于www.mydomain.com,而某些操作服务于两个域。
  3. 确保用户仅使用格式:html for demo.mydomain.com(例如http://demo.mydomain.com/index.html)并仅使用格式:json /:xml for www.mydomain.com(例如http://www.mydomain.com/index.json)。< / LI>

    完成这两项请求的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

也许看一下基于子域的请求路由

How do I route by domain / subdomain in rails

http://agilewebdevelopment.com/plugins/request_routing

其中request_routing插件允许您定义测试请求对象的方法/属性(如子域,域,端口)的路由要求。您可以针对值或使用Regexp测试它们(假设该方法返回一个字符串)。

如果您使用的是rails 3,您还可以查看子网站的子网站

http://railscasts.com/episodes/221-subdomains-in-rails-3

为了让您的控制器基于子域以不同的方式做出响应,您可以使用基于

的条件
@host = request.host