0

好的,我正在构建一个 API,我需要这些路由,所以我可以像这样访问它们:

api.example.com/action

或者

api.example.com/action2

这些是我的 API 控制器上的非休息操作:

class ApiController < ApplicationController
  def action1
    #code
  end

  def action2
    #code
  end
end

我怎样才能路由它们,任何指针?

4

1 回答 1

2

你会想要两者www.domain.com,并且api.domain.com会指向同一个 rails 应用程序。

在您的路由文件中,您将需要设置一个约束以仅在该约束为真时执行一组路由。您要使用的约束将简单地检查当前请求的子域是否为'api'. 这可以通过以下代码段来实现:

配置/路由.rb:

constraints subdomain: 'api' do
  # Standard Routing
  match '/action1' => 'api#action1'

  # Wildcard Routing
  match '/:action" => 'api#%{action}'
end

请求约束: http: //guides.rubyonrails.org/routing.html#request-based-constraints

通配符段: http: //guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments

于 2013-11-03T05:34:05.603 回答