O'Reilly logo

Learning Rails: Live Edition by Edd Dumbill, Simon St. Laurent

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Adding Some Data

As pretty much every piece of Rails documentation will suggest, views are really meant to provide users with a perspective on data managed by a controller. It’s a little strange to run through all this generation and layers of folders just to create an HTML file. To start taking advantage of a little more of Rails’ power, we’ll put some data into the controller for hello, hello_controller.rb, and then incorporate that data into the view.

If you open app/controllers/hello_controller.rb, you’ll see the default code that Rails generated, like that in Example 2-3.

Example 2-3. A very, very basic controller that does nothing

class HelloController < ApplicationController

  def index
  end
end

This is the first real Ruby code we’ve encountered, so it’s worth explaining a bit. The name of the class, HelloController, was created by the script generator based on the name we gave, Hello. Rails chose this name to indicate the name and type of the class, using its normal convention for controllers. Controllers are defined as Ruby classes, which inherit (<) most of their functionality from the ApplicationController class. (You don’t need to know anything about ApplicationControllers, or even classes—at least not yet—so if you don’t understand at this point, just enjoy the generated code and keep reading.)

Note

If you need to learn more about Ruby to be comfortable proceeding, take a look at Appendix A, “An Incredibly Brief Guide to Ruby.”

def index is the start of the index method, which ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required