I started learning Rails a few months ago, just before version 3 came out. My #1 tip - install Ruby Version Manager! Playing around with various different versions of Ruby, Rails and various gems, I managed to get my setup into a pretty broken state more than once. RVM lets you manage multiple Ruby installs on the same machine, which basically means that if you screw something up (or find out that a gem you needed to use won't work right with your version of Ruby/Rails) you don't have to reconfigure your entire machine.
If I had taken the time to install it straight away I would have saved a lot of wasted effort.
haha, yea RVM is an amazing tool. I'm working on creating a tutorial for setting up your local machine to have it ready to start working on RoR. I just need to do a little more research about the best ways to do it for Windows since that is an OS I'm not to familiar with.
Open a new shell and you should be golden. Never 'sudo gem install' again!
To install any Ruby, 'rvm install 1.9.2', for example. To switch Rubies, 'rvm 1.9.2'.
That's it! Pretty easy. I like to take two further steps, though: create a gemset per application, and set up .rvmrc files to switch to the right ruby automatically.
To do the gemset thing, 'rvm gemset create gemset_name'. You can switch to a specific gemset at the time you switch rubies with 'rvm 1.9.2@gemset_name', or after with 'rvm gemset use gemset_name'
Once you've got that going, make a '.rvmrc' file in the root of your project, and put in it the rvm command to switch to your ruby/gemset. "echo 'rvm 1.9.2@gemset_name' > .rvmrc" is probably the easiest way to do this. Then, when you switch to your project, you're in the correct ruby and gemset automatically. When you have 9 or 10 projects on 4 different Rubies, this helps a lot...
A tutorial would be great, but a tutorial that also explained why we are doing each step would be amazing. My Linux/Unix knowledge is somewhat limited, so a short tutorial really breaks down if I hit a step that doesn't work because of some different configuration on my machine.
Then what should have been ten minutes turns into three hours and I burn up all the time I could have been building something. Granted I usually learn something along the way, but it would be awesome if people provided some more details as part of their tutorials.
That's exactly my experience with linux/unix tutorials also. They tend to give an exact, step-by-step account of what to type in to the shell, with no explanation whatsoever of what any of the commands actually do. Then you find that something has slightly changed with the latest version of package xyz, and you're lost.