Use Base Controller
In a Rails app, when dealing with controllers that live within the same directory, we can create a base controller that those controllers can inherit from. This approach allows us to keep our code DRY and clean.
controllers/
    application_controller.rb
    admin/
        base_controller.rb
        posts_controller.rb
        comments_controller.rbAs you can see in the example folder controllers structure above, we have a base_controller.rb inside the admin/ directory.
class Admin::BaseController < Application
    before_filter :is_admin?
    def is_admin?
        # Check if user is admin
    end
endWe can then set up admin/posts_controller.rb and admin/comments_controller.rb to inherit from admin/basecontroller.rb and there’s no need to repeat before_filter :is_admin? throughout the admin controllers.