Learning Ruby on Rails: Resources

Since it makes sense to split the learning of the ruby language and the rails framework, this is what I am doing in the next sections. Some rails guides do also cover a section for ruby newbies, but I would recommend spending more time just with ruby, so thereafter you know when you are dealing with rails stuff or it is purely ruby. At the same time, if you land on ruby just because you’ve heard about RoR then go ahead and take a peek on some of the app tutorials, at least to check out the power of this framework. But then don’t forget to come back and do your homework on ruby. You will not regret.

Learn ruby

Interactive courses

In this category I consider courses that offer a ruby interpreter (irb) online. If you are like me, who can spend hours reading a coding book without opening the interpreter, then you should force yourself to take one of these two courses. It will challenge you more and it does fix the concepts faster than just reading.

RubyMonk http://rubymonk.com

TryRuby http://tryruby.org

On-line video tutorials

RailsCasts http://railscasts.com
Ryan Bates has done this amazing work on going through a lot of useful tutorials with screencasts. I recommend you start here once you have built your first app following other tutorials mentioned in this page.

On-line books

Why’s (poignant) guide to ruby – http://mislav.uniqpath.com/poignant-guide/
If you are ready to take the challenge for the most amazing mix of comic, literature and coding all dressed up in a surreal coat, this is your chance. I think this is a good one for advanced programmers. Written by misterious _why

The Bastards Book of Ruby – http://ruby.bastardsbook.com
Written by journalist Dan Nguyen, this is a highly practical approach for those who want to learn ruby to mine data and do useful stuff that helps on their research. It is not so academic as others and, although has not been finished, covers pretty well a lot of ruby topics.

Learn Ruby the hard way – http://ruby.learncodethehardway.org
This one seems to be based heavily on a python tutorial, so I don’t know how much it can be affected by that… I just started looking at it so I cannot give a full opinion.

Learn to program – http://pine.fm/LearnToProgram/
In case you have no prior experience

Curation of resources

15 Things for a Ruby Beginner – http://www.jasimabasheer.com/posts/meta_introduction_to_ruby.html
This list of resources written by Jasim A Basheer in his blog is a great starting point, and gives a lot of good hints both for new and experienced programmers.

How to learn ruby – http://brandon.dimcheff.com/2009/02/05/how-to-learn-ruby.html
Good post


Agile web development with Rails

Rails deep dive. This ebook is available for free in rubysource.com. The app in the tutorial is a bit different from the default one as it uses mongodb and haml instead of erb.

Learn to program – online version Above

Official resources

The ruby language web – http://www.ruby-lang.org/
This is the complete documentation for ruby, an equivalent to what php.net means to the PHP community. If you come from other languages it is interesting to go through this section http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/

Meeting points and tools

Ruby Gems – http://rubygems.org
Gems are ready-to-go packages in ruby that help you to gain time and not reinvent the wheel.

Rails is a ruby gem itself. Actually a set of gems as explained in the book deep into ruby.

You can see recommended gems here : http://blog.teamtreehouse.com/10-must-have-ruby-gems

GitHub – http://www.github.com
In a similar way, you can learn a lot and take a shorcut by taking a look at GitHub, where already 14% of the hosted projects
are written on Ruby.

The Ruby Toolbox – https://www.ruby-toolbox.com/
Loads of gems and projects to use or get inspiration.

Learn Git – source control software

Developing with a version control system is essential. Git is the choice vs other alternatives such as Svn.

Try Git http://try.github.com/.
Offered by GitHub, this is an excellent interactive tutorial. What is GitHub then? GitHub is the cloud hosting for your code. It can be public or private.

Another good resource for learning git is this book freely available online: http://git-scm.com/book/en/

Keep up-to-date

Ruby Weekly – http://rubyweekly.com

Ruby Source – http://www.rubysource.com

Learn rails

Rails is a successful MVC framework for ruby. Well, actually not a pure MVC framework but a model-2 one, as this article discusses well http://rubysource.com/getting-started-with-mvc/


Rails for zombies: http://railsforzombies.org
This interactive course is fun and short. Offered by CodeSchool

CodeLearn: http://www.codelearn.org/
The guys at CodeLearn have done a great job to put together a whole RoR environment. You can develop your first app directly from the browser without any local installation!

Example of applications

Getting Started with Rails:http://guides.rubyonrails.org/getting_started.html
This is probably the shortest app tutorial out there. It is hosted within the RailsGuides which represent the “official” documentation guide to Rails. In the same site you have the most valuable resources on models, views and controllers. I would highlight two that I consult very often: ActiveRecord (rails ORM), rails routes (part of the controller section).

Ruby on Rails Tutorial – by Michael Hartl http://ruby.railstutorial.org
A very insightful tutorial covering since the easiest application to a full-fledged twitter-like app. I found it excellent, but a bit difficult to follow at the end since f.e. testing is something I am not yet prepared to deal with.

The RailsApps Project: http://railsapps.github.com
Excellent drive-tru apps, and code available in github

Objects on rails –
This is an online book, or “notes” like the author says, where you can find the typical blog app explained with a focus on object oriented programming. Avdi Grimm is also in charge of the tutorials in RubyTapas http://devblog.avdi.org/rubytapas-episode-list/

A more generic curse, which deals with all the topics in web development, can be found here http://www.stanford.edu/~ouster/cgi-bin/cs142-fall10/lectures.php

Another excellent course offered by Stanford University and hosted in Edx is https://www.edx.org/courses/BerkeleyX/CS169.1x/. It is aimed at learning how to build Saas software, and RoR is the framework of choice.

A tutorial by Stephan Wintermeyer. It is a very complete guide from start to very advanced concepts. Also available in German: http://xyzpub.com/en/ruby-on-rails/3.2/

Hosting Ruby on Rails apps

Heroku – http://www.heroku.com

EngineYard – http://www.engineyard.com

If you are deploying with ftp, using DeployHQ can be a great option. This tutorial explains how to configure DeployHQ with your git repository: http://net.tutsplus.com/tutorials/tools-and-tips/how-to-use-git-with-ftp/

Cool now, what’s going on?

Now you would like to see what are toys are other people building with these tools.

Rails Rumble – http://www.railsrumble.com
This is a contest to build an app based on rails or similar ruby rack software in 48 hours.

Pair programming: tired of being a lonely developer? Go and find another programmer that can develop at the same time. Http://www.rubypair.com

2 thoughts on “Learning Ruby on Rails: Resources

  1. Good day, Now I really love programming with Ruby. Havent been doing it very long but learnt so much from website pages throughout the Internet.

    Fortunately, your webb site has aided me quite a bit, also,
    I thank you for the crystal clear explanations and
    easy to follow information on this website.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s