I’m looking to build a rails web app with an admin control panel. I’d like the control panel to use a tabbed interface for controlling users, projects, tasks etc, and I’d like to switch between tabs using jquery tab UI controls with ajax. Also using restful authentication for users and my own code for projects, tasks etc.
Here’s what I can’t wrap my head around. Normally, I’d have a controller for each tab, so validation is simple, if there’s an error (say in the user) i just render the proper action with the object and it’s errors and we’re set. However, if I’m not refreshing (to different controllers between tabs) how does this work? Do I need to have one massive controller with all the user, project, task validation and controls (ie. crud operations)? Seems like not the greatest design.
Or is there some way I can use an ‘admin’ controller that encompasses separate controllers for proper crud/error checking etc.
Hope this makes sense?
I would make the contents of each tab be called in by a separate ajax request. This would give you the following benefits
If you don’t want to use this route, (i.e. you feel you need to load all the contents of the tabs on page download in a single request) then you could separate out the code using helper methods and partials. See my answer here: Rails Sub-controllers?