Skip to main content

Posts

Showing posts from April, 2008

Rails Chops: RESTful Routes

Reference: Chapter 4 (The Rails Way)

In Rails, by adding map.resources :stories to config/routes.rb, you get 7 predefined routes:

stories GET /stories {:controller=>”stories”, :action=>”index”}
POST /stories {:controller=>”stories”, :action=>”create”}
new_story GET /stories/new {:controller=>”stories”, :action=>”new”}
edit_story GET /stories/:id/edit {:controller=>”stories”, :action=>”edit”}
story GET /stories/:id {:controller=>”stories”, :action=>”show”}
PUT /stories/:id {:controller=>”stories”, :action=>”update”}
DELETE /stories/:id {:controller=>”stories”, :action=>”destroy”}

Slowly but surely we are going to build an app from the ground up and use all of these RESTful routes. Its very important to understand what each of these do and how to incorporate them into your application. These rou…

Rails Chops: Working with databases

ReferencesRead from: “The Rails Way” – Chapter 6
Active Record Presentation
Migrations Presentation (ignore mysql at beginning)ObjectivesConfigure Rails to work with a database (database.yml)
create table (migration)
use ActiveRecord to interact with our database
use script/console to learn how ActiveRecord worksModelhandle application state (usually in the database)
encapsulate business logic, such as data validation and rules applied to dataActiveRecordORM (object-relational mapping)
Instead of dealing with database through SQL statements, ORM layer presents records as a collection of objects
Table represents a collection of objects(stories)
Record represents an object/model (story)
Field represents an object attribute (title)CRUD operations on databaseC: create, insert record into table
R: read, select record(s) from table
U: update, update record(s) in the table
D: delete, delete record(s) from the table