On 08/21/2012 07:36 AM, Mo Morsi wrote:
On 08/17/2012 05:12 PM, David Lutterkort wrote:
On Thu, 2012-08-16 at 11:05 -0400, Matt Wagner wrote:
Hi folks,

I've noticed that we've been objecting to patches using instance
variables to pass information to views, so I went to see our coding
guidelines page[1] to read about why.

It makes very clear that it's bad, but it doesn't really explain the
right way. I'd hoped that the Coding Guidelines page would be more of a
guide on how to do things the right way.

I've really only found one blog post[2] that addresses the issue, and it
doesn't really give a great example. It still uses an instance variable
in the controller, but inside of a view it passes it as a local
variable. It's more specific, sure, but it's not abundantly clear how
that actually makes anything better, or why an instance variable from
the controller to the view is okay but a view to a partial is not okay.
I've seen that statement in the coding guidelines, and have simply been
mystified by it. It seems to take a reasonable rule (reusable partials
shouldn't rely on instance variables) to an absurd extreme (never use
instance variables to pass data to a view)

The dividing line should be whether a particular view/partial is
reusable, or meant to be reusable. As long as a view is only used from
one place, I don't see anything wrong with using instance variables.
Note that that doesn't mean partials should never use instance variables
- there's more reasons than reuse to split part of a view into a partial
(AJAX updates, for example)

David

+1. Would be in favour of rewording the code guidelines to take this
approach.

   -Mo
+1

Jirka

Reply via email to