rails beginner how-to site

I've been writing up a step-by-step guide to implementing a sample RoR site and there's enough online now to make the link worth sharing.


The text is aimed at developers who are new to Rails, so the experts on this list probably won't find it worth their time. The instructions and code samples that are online so far outline beginning a Rails project from scratch, setting up the project in Subversion, connecting to a database (PostgreSQL), installing the restful_authentication plugin (with email) and the acts_as_state_machine plugin, and setting up a stub of a web site that supports logins and forgotten password functionality.

I made (and am making) an attempt to give the reasons why things are done and to say what the code means and what it's doing in addition to just giving samples, so it's a bit more wordy than many of the other sites out there covering the same material. For those who prefer a text-based tutorial over a screencast because you can copy/paste and follow along at whatever pace you like, I hope this tutorial will be useful.

  - Aaron

Thank you Aaron! The rails noobs of the world indeed apreciate your

Sometimes I feel I shouldn't have started learning server side
programming (or programming at all) with RoR.

The language is certainly elegant and simple, but the OO + MVC + DRY +
'Convention over configuration' concepts are a little counter
intuitive to people like me who are beginning to develop their own
software without previous programming experience.

Specially 'convention over configuration'.

When I follow Ror tutorials I'm usually successful in following it,
but most of the time I just can't figure out exactly what I did (and
people writting tutorials usually don't take the time to explain it

You type scaffold, and suddenly the south pole becomes theocratic

Figuring out the way all the information go throughout the
controllers, models, views, routes and DB, and understanding a syntax
that doesn't seem to be consistent all the time, and also having to
understand everything that belongs to each vessel before managing to
get anything to work seems a little too frustrating in my opinion.

Sometimes I looked into other people's code and just couldn't
understand how a form that does not reffer to a controller or method
is creating an entry on the DB (and many situations when Rails simply
"hides" what it is doing by inheritance or convention).

These lacks of clue in the code usually makes me confused and I think
experienced programmers who I talked with were mistaken in recomending
RoR as an entry programming language (and I plead you experienced
rails programmers not to do so).

No one has anything to do with my frustration, but I was feeling like
sharing this in case this can be insightful.

PS: This wasn't an attempt to bash Rails, just want to point things
that complete noobs don't usually get and make people think about
recomending rails as an entry level language.