Ruby on Rails的静态路由前缀上的嵌套路由

时间:2017-05-09 06:01:02

标签: ruby-on-rails routes

Ruby on Rails的新手,无法让我的路由按照我希望的方式工作。基本上,我有两个api端点:一个是我提供的平台服务之一,第二个是我想提供的子平台。我想要的结果URL方案是

... com / api / #First API平台

... com / stubs / api#Second API platform

第二个API平台有资源,但没有特定的资源用于" subs"或" api"。我只是用它作为产品之间的界限。

以下是我routes.rb的样子:

# routes.rb
Rails.application.routes.draw do

  resources :auth

  match :api, to: 'api#index', via: :all

  match :stubs, to: 'stubs#index', via: :get 

  match 'stubs/api', to: 'stubs/api#index', via: :get
  scope  'stubs/api' do
    resources :enpoints
  end

end

然后我的控制器......

# controllers/stubs/api/endpoints_controller.rb
class Stubs::Api::EndpointsController < ApplicationController
    def index
        render :json => {}
    end
end

当我尝试渲染/stubs/api/endpionts时,我收到错误:

  

没有路线匹配[GET]&#34; / stubs / api / endpoints&#34;

如果这是一个糟糕的菜鸟问题我提前道歉,我发现的文章似乎并没有解决这个问题....可能因为我从头开始想错了?无论如何,感谢您的帮助!

更令人困惑的是,我的路线显示端点符合预期:enter image description here

更新

添加我的文件夹结构以防万一。 enter image description here

这是一个可能的结果页面???? enter image description here

1 个答案:

答案 0 :(得分:1)

在route.rb文件中尝试以下路线:

OpenSideBar.target = self.revealViewController()