After some months of battling with this environment I am wondering
whether I have chosen the right tools for the job at hand. Rails
likes to do things in an ordered, but clunky, fashion - you execute an
action and Rails then looks for an *.rhtml file with the same name as
the action. If you do anything out of sequence, Rails throws away the
instance variables and you can no longer reference the information you
need. The standard Rails way of doing things is ok for the behind-the-
scenes administrative stuff but i would not want to expose a customer
to this, so i need complete control over what is displayed, and
where...
So I have a series of functions which reside in the layout sidebar (so
that i keep the administrative actions neatly off to the side, while
the main focus of attention remains in full view). So, when the
customer first goes to the site the product list is displayed in the
main view and there is a login and a register button in the sidebar.
If the customer registers or logs in, this all happens in the sidebar,
leaving the products display intact. In order to ensure that the
products remain in the display I have to persuade Rails not to look
for a register.html or login.rhtml file by using the render :action or
redirect_to_action statements.
But this causes Rails to throw away things I need - like the @customer
instance variables (if i use redirect), or the @product instance
variables (if i use render...)
Am I being too ambitious with Rails in trying to provide a clean,
managed, user interface? It seems to me that Rails is better suited
as a back-end grungy file maintenance application - or am i being too
harsh?
If the customer registers or logs in, this all happens in the sidebar,
leaving the products display intact. In order to ensure that the
products remain in the display I have to persuade Rails not to look
for a register.html or login.rhtml file by using the render :action or
redirect_to_action statements.
Seems that your knowledge of how to do things in Rails is clunky, not the framework itself.
Am I being too ambitious with Rails in trying to provide a clean,
managed, user interface? It seems to me that Rails is better suited
as a back-end grungy file maintenance application - or am i being too
harsh?
This is pure flame bait. I advise you to try and have such discussions elsewhere, perhaps even on Rails Talk mailing list. It is obvious that you have much to learn how to use the framework and how to think MVC; until then you are not in position to spread FUD on the Core list where people usually hang out when they become experienced with the framework and its internals.
You appear to be fundamentally misunderstanding the nature of HTTP. If
you're going the redirect route (which makes sense if the login isn't
an AJAX request), you need to add the customer id to the session so
that the customer can be retrieved after the redirect. You could learn
Smalltalk and try Seaside, I suppose, but that might take a bit longer
than simply learning the meaning of the phrase 'stateless protocol'
and applying that understanding.
It's clearly just a troll--seems plausible at first with plenty of
details, but if you think about it this guy is yanking our chain.
* "after some months" - After several months it would be impossible to
be this clueless.
* Willful ignorance of render :partial, conditionals, or any other
basic building blocks of templates
* "It seems to me that Rails is better suited
as a back-end grungy file maintenance application" The Troll
* "or am i being too harsh?" The Bait
Poor choice of words. Of course it's possible. It's just that people
who are really that clueless don't post messages like that. Much less
in the core list. It just smells like a troll, don't be had.