除了正常路由之外,在'/ api'内安装资源

时间:2012-07-09 21:55:09

标签: ruby-on-rails ruby-on-rails-3

我希望能够在'自然'路线和'/ api'中安装我们所有的资源。有没有一种简单的方法来使用rails路由?

2 个答案:

答案 0 :(得分:1)

创建一些文件,如config/routes/api_routes.rb,并将所需的路线设置为“自然”和“/api”状态。然后将文件加载到config/routes.rb,直接加载到块中,然后加载到namespace中(假设您的Api已命名空间)

Your::Application.routes.draw do
  load 'routes/api_routes.rb'

  namespace :api do
    load 'routes/api_routes.rb'
  end

  # ...
end

答案 1 :(得分:0)

我最终得到的错误如unitialized constant Api::SomeControllerClass上述解决方案。

我可以通过以下方式让这个工作

Rails.application.routes.draw do
  def api_enabled_routes
    resources :foo do
      resources :bar
    end
    <etc>
  end

  api_enabled_routes

  scope '/api' do
    api_enabled_routes
  end
end