Most Ruby on Rails books and tutorials, or at least all the ones I
have read, start with a simple application with modest requirements
and show how to create and migrate the database and how to generate a
scaffold based UI.
This is all well and good, but when I try to move beyond scaffold to
the web application UI that I want, I quickly find myself mired in a
swamp up to my eye-balls.
Or, to mangle another metaphor, working though the examples and
tutorials is like watching a magic show, but I need to figure out how
the tricks work.
What I am trying to create (as a learning exercise and not a paying
gig, thank God!) is yet again another ToDo list application with some
very non-scaffold like elements including:
- A two columns welcome screen with login on the left and register in
the right. Successful completion of either of these leads to … - A three column working screen with the user’s ToDo items organized
as a tree on the left, a list of the ToDo items under the selected
element in the center, and an always open form on the right that can
be used to add or edit ToDo items at any time. I will eventually use
JavaScript to set the initial focus on the first field in this form. - In general, all lists will be of incomplete items in inverse order
by priority where priority is not a field in the database but rather
computed from other fields in the record. - Complete page refreshes for now, but eventually AJAXed.
So far, I keep bumping up against redirects that don’t redirect or
redirects that do work, but display the layout for where I came from
instead of where I went to.
Clearly, there’s stuff going on that I didn’t fully internalize by
working through the examples. I come from Java/Swing background where
I wrote all the glue code that help the various API calls together and
I bring zero experience to this kind of framework, where the man
behind the curtain reaches out and runs little snippets of code I
write, code I didn’t have to write, or code that gets generated based
on hints that I configure into the code (has_many, acts_like_tree,
etc.).
To mange a final metaphor, I’m finding it heavy sledding.
What I would love to find is a walk-though of a RoR application
describing how and why the flow of control is transferred between
Controllers (including helpers), Models, and Views (including Layouts
and Partials). I would also love to know how render and redirect calls
effect (and don’t effect this process) and how stuff gets into and
goes out of scope.
Does anyone have any suggestions where I might find a document of this
nature?