Rails implements a very specific notion of the Model/View/Controller pattern, which guides how you structure your web applications.
In MVC, models, views, and controllers have very specific jobs. Separating responsibilities like this make it easy to maintain and extend rails applications. When responsibilities become muddied it gets much harder to debug issues and add new functionality.
/
#