
Provides information on building a social networking site, covering such topics as creation of a front page, uploading images, email, blogs, and creating a friendship request system.
Here's how I did it the last time I tried something similar: 1) Grab a decent book with plenty of sample code that builds towards a working product. This way, you get to see the moving parts and the theory. For Rails, Hartl's railstutorial.org is excellent - you build a twitter clone. Their much older book RailsSpace is pretty good too. While you're at it, checkout tryruby.org.
2) After doing 1 above, now pick a project and get building quick. Use the sample code from above and tear it apart.
3) 1 and 2 works really well if you do it with someone who is already either proficient or interested enough in going through the exercise with you.
0) Well, 1-3 would go a lot smoother if you already know another language or two, some decent background with data structures. Of course, that's not necessary, but useful nonetheless.
4) Regardless of what happens, keep plowing ahead. You will hit random errors or whatever. Keep with your schedule - "Finish chapter 4-6 today or whatever" and soon enough you can definitely finish the book in a week or two. Then the following two weeks is where you will learn the most with your own project!
42) You definitely will know enough to do something non-trivial, but again mastery depends on your case. As a friend of mine says, "anyone can learn to spit out a few words together, but writing an elegant sentence (or solution) is not that easy always... same with programming"
Good luck!
-- I'd say this is the approach Michael Hartl has taken with Railstutorial.org. Learning the language is important, but it seems to me that, having been through this tutorial and his previous "RailsSpace," the most important stuff I've learned is how a programmer thinks. Programming language tutorials shouldn't be about leaning languages. They should be about something interesting, and you learn the language in the process. Re-Factoring. Test Driven Development. Version control.
Needless to say, if you know anyone with zero programming experience who wants to get up to speed quickly on web development, so he or she will know what you're talking about, what's possible, and what's not, I highly recommend Hartl's work.
-- Fred
Also like the fact that he doesn't use many gems, but discusses building stuff from scratch (regarding Railsspace book).
I went through this book when I was learning Rails. I liked the fact that by the end, I had accomplished a bunch of things that I knew I would use again and again. http://www.amazon.com/RailsSpace-Building-Networking-Addison...
For a have on hand reference: http://www.amazon.com/Rails-Way-Addison-Wesley-Professional-...
And a good compilation of beginner resources: http://rushi.wordpress.com/2006/09/24/ruby-on-rails/
Practical Rails Social Networking Sites is also decent. It uses the RESTful approach which is cool.
