I am trying to pick up Rails, but there are a ton of things that it does that it's not under my control and that's scary (http://blog.zawodny.com/2011/06/13/i-actually-tried-learning-rails/). Is there a tutorial where it explains only the exact things you need to do in order to pick up the framework? (specs, controllers and views)


I've never gone through it, but a number of people that I know have used the Rails for Zombies tutorial. Those who put effort into it have had success with at least getting a basic handle on Rails. There's also another Ruby on Rails tutorial with books and screencasts that appears to be up-to-date with Rails 3.1. If those don't work out, there's also this list of Rails tutorials.

With the pace that Rails changes, I'm not sure exactly how up-to-date any of these are. You're probably going to want to keep an eye on that. I would suspect that it isn't too hard to learn one and get up-to-speed with the latest changes, but there might be problems if you are trying to running a different version than the tutorial covers.

As an aside, I would like to address two things, one from your post and another from the blog entry you linked to.

there are a ton of things that it does that it's not under my control and that's scary

Ruby on Rails emphasizes Convention over Configuration. This means that you give up control in order to make things easier. It's part of the "Rails way" of approaching a problem. If you have a desire to learn the Rails framework, you should also be learning and embracing the conventions of the framework.

I still think Ruby is a cool language and I’d like to tinker with it more. But Rails is not the best way to learn Ruby.

I don't know why you would learn Rails to learn Ruby. That's like saying learning ASP.NET MVC 3 is going to teach you C# or CodeIgniter is going to teach you PHP. Yes, you need to know a bit about Ruby to work with Rails, C# to work with ASP.NET MVC 3, and PHP to work with CodeIgniter, but there's a clear distinction between the language and the framework.

  • 1
    Have to vote for Rails for Zombies. – JeffO Aug 24 '11 at 21:21
  • You assumed right - I don't actually have any experience with Ruby and probably it's a bad thing to get started with Rails. I should try and do something meaningful with Ruby to pick up the language at first, though all the problems I could think of that could be solved with Ruby, I can already do it more easily with Python (no offense here, it's just that I know the language better) – vorad Aug 25 '11 at 17:26
  • @vorad Of course you can solve something easier with a nearly equivalent tool that you already know, that's a given. Python and Ruby aren't the same, but they are similar enough where most problems that could easily be solved with one can be just as easily solved with the other. I would recommend learning Ruby if you are going to be working with Rails. If you just want to learn a web framework, perhaps starting with Django might be better for someone coming from a Python background. – Thomas Owens Aug 25 '11 at 18:07

Have you used other web frameworks? They all perform a lot of work before your code gets control. The main difference is that the Rails API provides a lot more than methods to call. Rails uses the dynamic features of Ruby to define DSLs for web components. There is a language for controllers, and a language for domain objects, etc. I have found the Rails documentation to be quite readable, but you do have to read it, and it may take you a little while to get into the Rails mindset. However, when you do I think you will find developing with Rails to be quite enjoyable.


Whether you know frameworks or not, I'd suggest using the RailsTutorial.org site. It's a great start for newbies or those experienced with frameworks in other languages.

This is one of the best beginner resources because you can actually get from start to finish without show-stopping bugs. It's been updated and just works with Rails 3.0 out of the box. The author Michael Hartl is updating it for 3.1 and the online version includes an addendum to convert the example over to 3.1 if you wanted to dive into that.

As far as giving up control, well I guess that's true, but it is used on a lot of product sites. That's a trade-off for the power of Rails. I'd suggest giving up that control unless you like writing frameworks from scratch. :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.