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)
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
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.
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 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.
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. :)