Coding Guidelines: Instance variables in views

Maros Zatko mzatko at redhat.com
Fri Aug 17 13:53:27 UTC 2012


On 08/17/2012 03:42 PM, David Busby wrote:
> On this note, I thought it would be good to raise having a "lint like" 
> tool on the list;
>
> I've been asking in IRC if there is a "lint like" tool available, this 
> would make it easier for smaller contributors to at least avoid the 
> majority of issues, providing they run it through the "lint like" 
> tool, which has been configured per coding standards.
>
> This is all conjecture of course untill such time as the tool is made 
> available, whatever it may be.
>
> Case and point, whilst I am very interested in "hacking" and 
> contributing code, I am not in any way shape or form a ruby developer 
> I am a systems admin, who just happens to be able to write some ruby; 
> and prefers python (pylint for example is a great tool).
>
> Thoughts?
>
> Cheers
>
> David (Oneiroi)
>
>
> On Fri, Aug 17, 2012 at 2:39 PM, Matt Wagner <matt.wagner at redhat.com 
> <mailto:matt.wagner at redhat.com>> wrote:
>
>     On Fri, Aug 17, 2012 at 10:52:46AM +0200, Jirka Tomasek wrote:
>     >
>     > I don't like the sentence "Don't use it for passing variables to
>     > view. Never." which is actually one of the first things that any
>     > Rails book teaches you.
>
>     Yes, that was the main source of my confusion.
>
>     > I agree that we should try to reduce using
>     > instance variables in controllers where possible to avoid cluttering
>     > controllers with them.
>
>     As someone mentioned in another reply here, there are uses where you
>     really need them -- e.g., before_filters. Of course we should be
>     careful to not use instance variables where there's no need for them;
>     sometimes we'll mistakenly use an instance variable just within the
>     scope of a method, for example.
>
>     > The blog post you sent points out the reusability of partials so
>     > passing the variables as locals helps avoid requiring use of eg.
>     > @post in all partials instances. Imho it depends on the desired use
>     > of the partial.
>     >
>     > We have discussed with Imre the alternative way to pass variables
>     > from controller's action to view. It can be done similar way as with
>     > partials:
>     >
>     >   ...someactioncode...
>     >   render :action => :index, :locals => {:post => post}
>     > end
>     >
>     >
>     > but I have never seen this used anywhere in controller and I assume
>     > this is not the "Rails way".
>
>     Yes, this feels pretty weird to me. That whole line should be
>     unnecessary -- we're overriding the "Rails magic" to explicitly
>     perform
>     the default behavior, except referencing the variable as a local
>     one. If
>     anything, this seems _more_ error-prone to me than relying on instance
>     variables.
>
>     -- Matt
>
>
Lint like tool is called rails_best_practices, and is in process of 
packaging.

maros
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/aeolus-devel/attachments/20120817/fd545b1e/attachment.html>


More information about the aeolus-devel mailing list