-1

假设我有一个控制器位于/admin/users/users_controller.rb

class Admin::UsersController < ApplicationController
  def index
    #..........
    respond_to do |format|
      format.html # the file /admin/users/index.html.haml will be returned implicitly 
      format.js   # the file /admin/users/index.js.erb will be returned implicitly 
    end 
  end
end

路线.rb

 namespace :admin do
  resource :users do
    collection do
     resources :tags, controller: :users_tags
    end
  end
 end

如果我UsersTagsController在同一目录中有一个控制器:

class Admin::UsersTagsController < ApplicationController
  def index
     #..........
     respond_to do |format|
       format.html # what file will be returned?
       format.js   # what file will be returned?
     end 
  end
end

那么这种情况下会返回什么文件呢?

4

1 回答 1

1

返回的文件/视图将基于控制器的位置,而不是路由的格式。例如,它们将位于admin/users_tags/index.{format}.erb(假设UsersTagsController位于controllers/admin/users_tags_controller.rb

在旁注中,通常命名空间Admin::UsersController将位于controllers/admin/users_controller.rb而不是controllers/admin/users/users_controller.rb

于 2013-06-13T03:59:42.997 回答