This is my step-by-step, extremely cheap, program for learning it.
It isn’t simple, but it’s straightforward. It isn’t easy, but it’s achievable. It’ll take you between a few weeks to a few months. By the end, you’ll be comfortable writing Rails apps.
Build a project you’re passionate about
You need to care about the product you’re building to learn Rails well. Reading books and documentation is necessary, but not sufficient. Build a real thing as you’re learning.
Set up your development and production environments
While you’re developing, you’ll refer to the API docs often. So, bookmark them.
Make a habit of learning a little every day
Read Programming Ruby 1.9 ($25 eBook), affectionately known as “The Pickaxe”, on your own, a chapter a night. This is necessary in order to learn Ruby, the programming language.
Read the Ruby on Rails guides (free), on your own, a chapter a night. This is necessary to learn Rails, the web application framework.
Watch Railscasts (free), on your own, an episode a night. Just pick one that looks interesting to you. This is necessary to learn the ecosystem of third-party Ruby gems.
Re-use existing components before writing your own
Don’t waste time when you’re stuck
If you get an error, copy it and paste in into Google. You’ll probably get an explanation.
Talk to an expert in person when you need help with concepts and process
If you need help understanding broader concepts or need someone to review your passion project’s codebase in person, set up time with a Rails mentor (free) or attend a Boston Ruby hackfest at the thoughtbot office on the first Tuesday night of every month.
If you’re understanding parts of the Rails landscape but can’t figure out how they fit together cohesively, register for a Rails workshop on Skillshare ($50-$500) or take an intensive, two-day, hands-on thoughtbot workshop ($1,099).
If you want to vent, meet other developers, or get a job as a Rails developer, go to the bar after monthly Boston Ruby meetings on the second Tuesday night of every month. It’s usually Meadhall.
Good luck and happy coding!