The following is a list of some of the kinds of component that can be included in a three-tier architecture Rails application.
Rails includes more than just models, views, and controllers. The main difference here is that Rails doesn’t have an application tier in between the presentation and data tiers: controllers call models directly, and business logic lives in one or the other of those. This is fine for smaller applications, but for larger ones an additional layer can be helpful. Not every application needs all of these types of components; each should be added only when a specific application’s needs warrant it.
This list adds components in all three tiers following different design patterns. Components built-in to Rails are listed in bold.