Hi there, I'm working on a new student portal system using Rails for a large university. As part of this application, I plan on students being able to customize their own calendar, collection of commonly used links, aggregation of newsfeeds (from the university, student groups, etc), and to see a listing of major announcements they should be aware of. It seems to me, to make the most sense to have each of these components handle their own logic. Optimally, one master controller would receive a user's request for their particular page and would delegate to other methods to render user-specific content. To me, it seems like the master controller should be delegating this task to other controllers so that they can do a render partial of their portion of the page. It seems like it would be a bit messy and un-'rails-like' to force all of this display logic into a single template and a single controller (but maybe this is wrong?). So a few questions: Is this what you would recommend from a design perspective? Is it normal to have controllers in a Rails application (if we were to go with the above) that are not meant to receive URL requests? Also, for the above which are user-specific, I'd like to do my best to cache the result to improve performance. Would the most effective way to accomplish user-by-user caching for components specific to them be through action-caching? Many many thanks in advance for helping out a newcomer like myself. I'm very excited by Rails and look forward to getting off the ground with it! -Michael J.
on 2006-03-15 09:38