2.4. Basic Active Record ClassesWhether you use migrations or SQL scripts, you'll need to follow the naming conventions. The table name photos and the definition of the id column are both significant. (With our migration, Rails created the id column automatically.) Rails uses several naming conventions:
2.4.1. Wrapping the TableNow we're ready to look at the Active Record model class we created earlier. In the app/models directory (which contains your project's model classes), Rails created the photo.rb file, along with some testing code, when we generated our model. Open it: class Photo < ActiveRecord::Base end Active Record class has all of the information that it needs to wrap the photos table. 2.4.2. The Rails ConsoleYou'll probably spend a good deal of time in the Rails console, one of the many tools created with each Rails project. The Rails console lets you interactively work with your database- backed models. When you start a console, Rails does the following:
Let's start a console now to manipulate the Photo model we created: ruby script/console We'll use the console to create some new objects, and save them to the database: [*]
>> photo=Photo.new => #<Photo:0x35301d8 @attributes ={"filename"=>""}, @new_record=true> >> photo.filename = 'cat.jpg' => "cat.jpg" >> photo.save => true The new method on Active Record classes can take a code block: >> Photo.new do dog ?> dog.filename = 'dog.jpg' >> dog.save >> end Both techniques create a new model object and save it to the database. Each produces the same SQL, so the choice is entirely a matter of your personal preference. |