子域上的api的路由路由

sme*_*mek 18 api subdomain routes ruby-on-rails-3.2

我想通过子域(https://api.domain.com)访问我的Rails应用程序的API.我定义了以下路线:

constraints :subdomain => 'api' do
  namespace :api, defaults: {format: 'json'} do
    scope module: :v1, constraints: ApiConstraints.new(version: 1, default: true) do
      resources :posts
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这有效,但会产生以下网址:

https://api.domain.com/api/posts
Run Code Online (Sandbox Code Playgroud)

我希望它是:

https://api.domain.com/posts
Run Code Online (Sandbox Code Playgroud)

API控制器位于app/controllers/api/v1中,应该留在那里.

我尝试绘制路线但没有任何成功.有人知道如何解决这个问题吗?

Rux*_*ton 21

更改

namespace :api, defaults: {format: 'json'} do
Run Code Online (Sandbox Code Playgroud)

namespace :api, path: nil, defaults: {format: 'json'} do
Run Code Online (Sandbox Code Playgroud)