Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 ( 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)

share|improve this question

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.

share|improve this answer
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.

share|improve this answer

Whether you know frameworks or not, I'd suggest using the 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. :)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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