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

Getting Started with Classes and Objects

Most of the Rails files you’ll work with and create define classes. (They do so even when they don’t have explicit class definitions, as Rails performs some of its magic in the background.) The clearest place to work with objects in Rails is in the controller classes. To get started, therefore, go to the command line and create a new application and a new controller:

rails testbed
...
cd testbed
...
ruby script/generate controller Testbed index

Note

If you’re using Heroku, instead of going to the command line, log in to Heroku and click on the Create A New Application button from the My Apps page. You can rename it “testbed” if you want, but the application name doesn’t matter much. What does matter is that when the application editing screen opens, you click on the gear menu near the bottom left, choose Generate, and enter controller Testbed index. That will set things up for the rest of these examples.

For the rest of this appendix, there are only two files that matter: app/views/testbed/index.html.erb and app/controllers/testbed_controller.rb. For right now, replace the contents of app/views/testbed/index.html.erb with:

<%= @result %>

That will make it easy to see the results of the code in the controller, which is a clearer place to explore Ruby. (@result is a variable whose value various examples will set.)

If you open app/controllers/testbed_controller.rb, you’ll see the code below. It doesn’t yet do anything, except tell the programmer what ...

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