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

发布于 2025-01-07 13:19:56 字数 306 浏览 4 评论 0原文

我开发了一个 Ruby on Rails 项目,该项目托管在 http://example.com 上。现在我想启动一个新的子域,例如 http://api.example.com

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

如何才能实现这一点呢?

谢谢

I developed a ruby on rails project which is hosted on http://example.com. Now i want to start a new sub domain something like http://api.example.com

My problem is i developed main domain files and sub-domain file in single project. Now i want to match only some of the controllers to sub-domain (api related controllers) and remaining controllers to main-domain.

How can achieve this?

Thank You

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

叫思念不要吵 2025-01-14 13:19:56

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

Rails 3 方法:基本上只需将所需的控制器添加到约束中即可。如果您想保持子域静态等,您需要修改该截屏视频中的代码。未经测试的示例:

class ApiSubdomain
  def self.matches?(request)
    request.subdomain.present? && request.subdomain == 'api'
  end
end

constraints(ApiSubdomain) do
  # your api routes here
end

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

Rails 3 approach: You basically just add the desired controller to your constraint. If you want to keep your subdomains static etc, you need to modify the code from that screencast. Untested example:

class ApiSubdomain
  def self.matches?(request)
    request.subdomain.present? && request.subdomain == 'api'
  end
end

constraints(ApiSubdomain) do
  # your api routes here
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文