Tutorial by Michael Hartl: http://ruby.railstutorial.org/