小编der*_*vis的帖子

具有嵌套资源的命名空间Rails 3.2.8

我正在尝试将我的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 …

resources routes nested namespaces ruby-on-rails

6
推荐指数
1
解决办法
3538
查看次数

标签 统计

namespaces ×1

nested ×1

resources ×1

routes ×1

ruby-on-rails ×1