The Hello World programs are actually doing a lot of work, as shown in Figure 2-4, though most of it happens transparently.
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)
index. Rails routing functionality then
index method, which sets up some basic
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 most ...