我正在尝试将我的Rails应用程序组织到两个名称空间中,这两个名称空间提供相同的资源,但具有不同的控制器和视图.类似下面的cenario:
的routes.rb
resources :beehives do
resources :bees
resources :honeycombs
end
namespace :api do
resources :beehive, only: [:show] do
resources :bees, only: [:index, :show]
resources :honeycombs, only: [:index, :show]
end
end
Run Code Online (Sandbox Code Playgroud)
使用scaffold,我创建了控制器结构:
rails g controller api/beehives
rails g controller api/beehives/bees
rails g controller api/beehives/honeycombs
我为控制器获得的文件夹结构听起来像这样:
+ app
+ controllers
- beehives_controller.rb
- bees_controller.rb
- honeycombs_controller.rb
+ api
- beehives_controller.rb
+ beehives
- bees_controller.rb
- honeycombs_controller.rb
Run Code Online (Sandbox Code Playgroud)
控制器/ beehives_controller.rb
class Api::BeehivesController < ApplicationController
Run Code Online (Sandbox Code Playgroud)
控制器/ API/beehives_controller.rb
class Api::BeehivesController < ApplicationController
Run Code Online (Sandbox Code Playgroud)
控制器/ API /蜂箱/ bees_controller.rb …