Revisiting Rails::Application

In previous chapters, we discussed Rails::Engine and how it exhibits several behaviors similar to a Rails application. When we look at the Rails source code, we find the following:

 
module​ Rails
 
class​ Application < Engine
 
# ...
 
end
 
end

The Rails::Application class inherits from Rails::Engine! This means an application can do everything an engine does, plus has some specific behavior:

  • An application is responsible for all bootstrapping (for example, loading Active Support, setting up load paths, and configuring the logger).

  • An application has its own router and middleware stack (as we discussed in Middleware Stacks).

  • An application should load and initialize all plug-ins.

  • An application is ...

Get Crafting Rails 4 Applications, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.