Ruby on Rails子域托管仅适用于某些控制器



我开发了一个ruby on rails项目,该项目托管在http://example.com.现在我想创建一个新的子域http://api.example.com

我的问题是我在单个项目中开发了主域文件和子域文件。现在,我只想将一些控制器与子域(与api相关的控制器)匹配,将其余控制器与主域匹配。

如何做到这一点?

谢谢

Rails 2:http://railscasts.com/episodes/123-subdomains
轨道3:http://railscasts.com/episodes/221-subdomains-in-rails-3

Rails3方法:您基本上只是将所需的控制器添加到约束中。如果你想让你的子域保持静态等,你需要修改屏幕广播中的代码。未测试的示例:

class ApiSubdomain
  def self.matches?(request)
    request.subdomain.present? && request.subdomain == 'api'
  end
end
constraints(ApiSubdomain) do
  # your api routes here
end

最新更新