I started reading ActiveRecord::Base a few days ago and found 8 things that I didn’t know about that it offered. I also only made it about 1/4 of the way through the code. Here are a few new things I’ve learned upon further reading:
1. Find by multiple ids
Not only can you find a single record by calling find_by_id, you can find multiple records by providing an array of ids.
User.find_by_id([1, 12, 55])# Returns 3 User objects with ids of 1, 12, and 55. If any isn't found, then RecordNotFound is raised.
2. Locking database records
If you have multiple processes that may update the same record (like incrementing a counter), then you may run into a problem where they both pull the record when the counter = 42. They each update the counter to 43 and save the record. This results in a deviation from reality of 1.
The solution is to lock the record while updating it. Here’s the code: Read More
Have you ever wished you could start out your Rails application with all of your gems installed and all of your standard setup items completed? Well, wait no longer. You can now do it with Rails Templates. Pratik covered it pretty well, so I’m not going to repeat what he’s done. Rather, I’m going to share a template of my own and explain why I included what I did.
One problem that seems to face people when they’re attempting to move their applications into production is the best way to manage deployment of their application. This is where tools like capistrano comes in.
Capistrano was written by Jamis Buck of 37signals. In a lot of ways it has become the defacto way to deploy Ruby on Rails applications. It has also had tools like webistrano build on top of it to provide a graphical interface to the command line tool.
To get started, you need to install the capistrano gem:
This is my first screencast. I’ve learned a lot about recording screencasts while doing this. The screencast was recorded using a free trial of Camtasia for Mac. The trial is up in 30 days, so I’d really appreciate donations to help me get ScreenFlow so I can continue to produce screencasts.
In the meantime, here’s a basic rundown of the 4 basic types of routes in Ruby on Rails.
Ruby on Rails gives you some simple but powerful tools for mapping URL’s and HTTP Verbs to your Controllers and Views. Here is a simple walkthrough of 4 of these ‘Routes’: default routes, regular routes, named routes, and RESTful routes.