Should frontend and backend be handled by different controllers?
        Posted  
        
            by DR
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by DR
        
        
        
        Published on 2010-05-01T13:06:36Z
        Indexed on 
            2010/05/01
            14:37 UTC
        
        
        Read the original article
        Hit count: 271
        
In my previous learning projects I always used a single controller, but now I wonder if that is good practice or even always possible.
In all RESTful Rails tutorials the controllers have a show, an edit and an index view. If an authorized user is logged on, the edit view becomes available and the index view shows additional data manipulation controls, like a delete button or a link to the edit view.
Now I have a Rails application which falls exactly into this pattern, but the index view is not reusable:
- The normal user sees a flashy index page with lots of pictures, complex layout, no Javascript requirement, ...
- The Admin user index has a completly different minimalistic design, jQuery table and lots of additional data, ...
Now I'm not sure how to handle this case. I can think of the following:
- Single controller, single view: The view is split into two large blocks/partials using an ifstatement.
- Single controller, two views: indexandindex_admin.
- Two different controllers: BookControllerandBookAdminController
None of these solutions seems perfect, but for now I'm inclined to use the 3rd option.
What's the preferred way to do this?
© Stack Overflow or respective owner