好的我正在建立一个API,我需要路由,所以我可以像这样访问它们:
api.example.com/action
或
api.example.com/action2
这些是我的API控制器上的非平静操作:
class ApiController < ApplicationController
def action1
#code
end
def action2
#code
end
end
如何路由它们,任何指针?
答案 0 :(得分:2)
您希望www.domain.com
和api.domain.com
都指向相同的rails应用。
在您的路径文件中,您需要设置约束以仅在该约束为真时执行一组路径。您要使用的约束只是检查当前请求的子域是否为'api'
。这可以通过以下代码段实现:
<强>配置/ routes.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