How Hello World Works

The Hello World programs are actually doing a lot of work, as shown in Figure 2-4, though most of it happens transparently.

Simplified processing path for the Hello World programs

Figure 2-4. Simplified processing path for the Hello World programs

When the code runs, Rails interprets the request for http://localhost:3000/hello/ as a call to the Hello controller. It has a list of routing rules, managed through a config/routes.rb file you can edit—this is just the default behavior. Controllers can have multiple methods, but the default method (just like when you request an HTML file) is index. Rails routing functionality then calls the index method, which sets up some basic variables.

When the controller is done, Rails passes its data to the view in the app/views/hello directory. How does it know to go there? Thanks to the magic of naming conventions, that view processing (possibly including layouts) generates an HTML result, which gets sent to the browser.

Rails applications have lots of moving parts, but you can usually look at the parts and guess (or control) what Rails is going to do with them. As you’ll see in later chapters, the connections between controllers and models and models and databases rely heavily on such naming conventions and default behaviors. The connections that Rails creates in this way won’t solve all of your problems all of the time, but they do make it easy to solve a wide variety of problems ...

Get Learning Rails: Live 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.