Hi Tim,

I wanted to reproduce this to see if I could come up with a different
solution, but I haven't been capable of reproducing it :P.

This is my test code, I must have missed something important :)

<plans showspecialcontrols="false"/>

<def tag="plans" attrs="showspecialcontrols">
  <my-table-plus:postulantes showmycontrols="&showspecialcontrols"/>
</def>

<def tag="my-table-plus" attrs="showmycontrols">
  showmycontrols: <%= showmycontrols.inspect %>
  this: <%= this.inspect %>
  <table-plus fields="this"/>
</def>

Warm regards,
Ignacio

El 12/01/14 16:32, Tim Griffin escribió:
> Hi all,
> 
> This may seem really basic, but it tripped me up for a while because I'd
> forgotten a basic Hobo tenet: /Always be aware of context/.
>  
> I'd defined a tag that calls another custom tag as follows:
> 
> <def tag="plans" attrs="showspecialcontrols">
>   <my-table-plus:plans fields="plan_no,
> plan_type" showmycontrols="&showspecialcontrols">
>   ...
> </def>
> 
> 
> But, for the longest time, the highlighted attribute call generated:
> 
> undefined method `showspecialcontrols' for #<#<Class:...
> 
> It took me a while to realize/remember that by including "plans" in my
> call to <my-table-plus:> I'd shifted the context for the attribute I'd
> passed in. Hobo was now looking for a /showspecialcontrols/ method on a
> plan, which didn't exist. 
> 
> Unless someone can contribute an alternate solution, I couldn't see a
> way around this without assigning the /showspecialcontrols/ attribute to
> an instance variable:
> 
> <def tag="plans" attrs="showspecialcontrols">
> 
>    <!-- We need an instance variable here otherwise context is confused
> within call to my-table-plus -->
>    <% @show = showspecialcontrols %>
> 
>    <my-table-plus:plans fields="..." showmycontrols="&@show">
> 
> 
> Tim
> 
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Hobo Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/hobousers.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
Ignacio Huerta Arteche
http://www.ihuerta.net
Teléfono: 0034 645 70 77 35
Email realizado con software libre

-- 
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to