# Beyond Scaffold

**URL:** <https://www.ruby-forum.com/t/beyond-scaffold/150503>\
**Category:** Rails\
**Created:** [October 9, 2008, 8:59am UTC](https://www.ruby-forum.com/t/beyond-scaffold/150503 "2008-10-09T08:59:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vern](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/35a633/32.png) [@Vern](https://www.ruby-forum.com/u/Vern)\
**Post date:** [October 9, 2008, 8:59am UTC](https://www.ruby-forum.com/t/beyond-scaffold/150503/1 "2008-10-09T08:59:14Z")

</div>

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:

1. A two columns welcome screen with login on the left and register in  
the right. Successful completion of either of these leads to …
2. 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.
3. 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.
4. 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?

---

<div class="post-metadata">

**Author:** ![Vern](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/35a633/32.png) [@Vern](https://www.ruby-forum.com/u/Vern)\
**Post date:** [October 9, 2008, 5:34pm UTC](https://www.ruby-forum.com/t/beyond-scaffold/150503/2 "2008-10-09T17:34:43Z")

</div>

I’ve just gone through “Agile Web D. with Rails.”(Pragmatic  
Bookshelf) in an online version that covers rails 2.x(NB printed  
versions of the book I have seen for sale do not cover ver 2.x, so I  
would not recommend them). The first part of the book is a rather  
involved tutorial that does show model/controller/view/helper/partial  
interactions quite well. I have not found anything yet that shows  
complete functional examples of all types of model/table relationships  
so that as I try to create has\_many\_and\_belongs\_to\_many models I  
struggle with what the generators do and what I need to do.

I am still totally confused and suffering from the novelty of ruby and  
rails, especially since so much functionality is not visible in code  
but must be read about in documentation. Therefore you might want to  
discount my endorsement of the book. It is, however, the first ebook  
that I found that actually functions with ver 2.x and does show at  
least an example of each of your areas of concern.

I feel I am painting a house with a 1" brush, mowing a lawn with  
sissors, and beating an egg with a toothpick.

Sam

---

<div class="post-metadata">

**Author:** ![Vern](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/35a633/32.png) [@Vern](https://www.ruby-forum.com/u/Vern)\
**Post date:** [October 9, 2008, 8:48pm UTC](https://www.ruby-forum.com/t/beyond-scaffold/150503/3 "2008-10-09T20:48:30Z")

</div>

Just to clarify–do I take that you’re well comfortable w/basic HTML/css  
(or tables I suppose) for doing layout etc.? You could if you had the  
time hand-write static html pages to get the effects you want, you just  
haven’t been able to figure out how to get rails to generate it for you?  
(As someone whose HTML/css is pretty sketchy, it seems to me that rails  
wants a fair bit of mastery of that material. It saves you from typing,  
but not understanding it 😉

I agree w/Sam that AWDWR 3rd ed has a decent description of how the  
models/controllers/helpers/views interact (probably the earlier eds do  
too–not sure). I’d also highly recommend _Ruby For Rails_, which I  
think covers a lot of what the magic pixies seem to be doing behind the  
scenes. (It’s a tad bit outdated on the rails front, but still very  
very worthwhile.)

In general tho, I’d recommend just slogging through a bit at a time.  
Start simple. You mention having a problem w/redirection & layouts.  
Put together a page w/a select tag & a submit button & try redirecting  
to minimal pages w/different layouts based on the value of the select.  
If it doesn’t work, post your code & we should be able to help you  
figure out why. If it does, build from there. It’s slow going to  
start, for sure. But it sure does pick up as you learn the conventions  
& such…

HTH,

-Roy
