开发者

How to set a specific layout for all controllers within a class or module. (Rails 3)

I have the following controllers under a Admin class (or module?)

class Admin::PostsController < ApplicationController
  layout 'admin'
  # contr开发者_JAVA技巧oller methods...
end

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

How can I define the layout in one place for these controllers in the Admin class? Do I need to make a new file for the Admin class and define it there? I have a feeling it's some thing like this (tried but din't work).

class Admin < ApplicationController
 layout 'admin'
end

Currently all controllers scoped to the admin class are located 'app/controllers/admin/'. If I need to create the Admin class file should it be inside that folder as well or in the one above? Or is the solution super simple and am I over thinking it?


Try creating a BaseController class, like this, then extending your other controllers to use it:

class Admin::BaseController < ApplicationController
  layout 'admin'
end

Then you would have:

class Admin::PostsController < Admin::BaseController
  # controller methods...
end
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜