如何为类或模块中的所有控制器设置特定布局.(导轨3)

Mou*_*udy 15 layout ruby-on-rails-3

我在Admin类(或模块?)下有以下控制器?

class Admin::PostsController < ApplicationController
  layout 'admin'
  # controller methods...
end

class Admin::CommentsController < ApplicationController
  layout 'admin'
  # controller methods...
end
Run Code Online (Sandbox Code Playgroud)

如何在Admin类中为这些控制器在一个位置定义布局?我是否需要为Admin类创建一个新文件并在那里定义它?我觉得这有点像这样(试过但不行).

class Admin < ApplicationController
 layout 'admin'
end
Run Code Online (Sandbox Code Playgroud)

目前,限定为管理类的所有控制器都位于"app/controllers/admin /".如果我需要创建Admin类文件,它应该在该文件夹中还是在上面的文件夹中?或者解决方案超级简单,我是否过度思考?

muf*_*sta 29

尝试创建一个像这样的BaseController类,然后扩展其他控制器以使用它:

class Admin::BaseController < ApplicationController
  layout 'admin'
end
Run Code Online (Sandbox Code Playgroud)

然后你会有:

class Admin::PostsController < Admin::BaseController
  # controller methods...
end
Run Code Online (Sandbox Code Playgroud)