I would get reasonably proficient at Ruby before tackling Rails; Rails uses Ruby to its full extent, and so you'll need the chops to know what's going on. Or at least, you used to. I imagine it's the same today.
The best book for leveling up your Ruby is "Metaprogramming Ruby". Yes, it's technically a book about metaprogramming, but in order to metaprogram, you need to learn about how Ruby really works. In my mind, if you don't grok what's in that book, you're still new at Ruby (which is okay!), and once you do, you're intermediate/advanced. Before that, the classics like the Pickaxe are good for getting started.
From there, I personally would go the "pick an issue and dig in" route; there's a lot to learn, and so having a reason to learn about a specific part of the project is a good way to get going. If you hit a wall, pick another issue.
> Now, being as outdated as it is, it can no more be treated as one. Relatively "small" changes were made to Ruby since 2.0, but those changes are everywhere, and they seriously reshaped the language, preferred style, common patterns, and solution. So, one being introduced to language through Pickaxe will immediately be in possession of outdated knowledge.
The best book for leveling up your Ruby is "Metaprogramming Ruby". Yes, it's technically a book about metaprogramming, but in order to metaprogram, you need to learn about how Ruby really works. In my mind, if you don't grok what's in that book, you're still new at Ruby (which is okay!), and once you do, you're intermediate/advanced. Before that, the classics like the Pickaxe are good for getting started.
From there, I personally would go the "pick an issue and dig in" route; there's a lot to learn, and so having a reason to learn about a specific part of the project is a good way to get going. If you hit a wall, pick another issue.