How to go from being a Rails Newb, to being a Rails (semi) Pro.

Rails is awesome. There's absolutely no doubt about it, that's why we work with it. But for someone coming from a non development background there can be a lot of learning to get through. As someone who knows how hard it is, I've compiled a list of tips and resources to help you out.

Buy a book

Agile Web Development with Rails is pretty much the definitive book to start with. After giving you an intro to the MVC way of thinking it leads you through building a small web shop application, with the last half of the book going more in-depth to the different parts of Rails such as ActiveRecord, ActiveSupport, etc.

Screencasts

There's no two ways about it, the free screencasts from Railscasts, and by extension Asciicasts, will become one of your most invaluable resources for learning Rails from the start. A lot of them can deal with very high level subjects, but you will nearly always find something relevant. For absolute beginners however, Rails For Zombies is fantastic. They take you through a series of videos with a few questions after each building you up to a decent level to start tinkering. Failing either of these, Peepcode has a lot of screencasts which even extend into Ruby, Sinatra, JavaScript, Git, iOS development and more.

Make something

Building something in Rails to serve a few views, show records, etc isn't hard. You can do it in a few minutes. Build something simple to wrap your head around where the magic starts and stops and how you can use it (more on the magic in a bit). A simple blogging engine is always the easiest place to start, and it allows you to get used to the MVC way of thinking and how it all fits together.

Learn the magic

When discussing Rails development with someone who knows what they're talking about, you might hear about the word abstraction. From Wiktionary:

Any generalization technique that ignores or hides details to capture some kind of commonality between different instances for the purpose of controlling the intellectual complexity of engineered systems, particularly software systems.

In other words, magic. In Rails specifically, it can happen in a lot of places. For example, when you generate your first scaffold for your post model in your blog application and take a look through the views, you'll see things such as <%= link_to 'Show', post %> and <%= link_to 'Edit', edit_post_path(post) >. If you take a look in your routes you will the scaffold generator has added resources :posts. This is the snippet that allows Rails to build these links for us. This was one of the things that took me a while to learn, but when it clicked a lot of stuff made sense.

Ask someone or look it up

Having someone to pester ask really helped me a lot. Don't be afraid to fire any of us at Rumble Labs a question. The most common port of call for most people is Stack Overflow, but don't be afraid to jump into IRC channels. If you are too embarrassed for the real newbie stuff, the Rails Guides are absolutely invaluable.

Good luck kid, you'll need it

Hopefully these give you a good basis to get started with Rails, feel free to shoot a quick question to us if you want to know any more. In the meantime, go have a look at all things I mentioned and start learning.

Get in Touch

Great! Tell us about it by completing our project planner. Doing so helps us better understand your requirements and in turn we can provide a more helpful response.

Start your project plan now