Or more directly,

def haml_tag_if(condition, *args, &block)
  if condition
    haml_tag *args, &block
  else
    yield
  end
end

That might be something worth adding to Haml::Helpers. Thoughts?

On Mon, Jun 29, 2009 at 11:28 AM, Cataclyst <[email protected]> wrote:

>
> That's it, the helper method works great. :) Thanks a lot, Scott.
>
> André
>
> On 29 Jun., 18:50, scottwb <[email protected]> wrote:
> > Try something like this...define a helper like:
> >
> > def conditional_div(condition, attributes, &block)
> >   if condition
> >     haml_tag :div, attributes, &block
> >   else
> >     haml_concat capture_haml(&block)
> >   end
> > end
> >
> > Then, in your template do:
> >
> > - conditional_div(!skip_outer, {:id => "some_id"}) do
> >   / some content here
> >
> > On Jun 29, 6:33 am, Cataclyst <[email protected]> wrote:
> >
> > > Hi all,
> >
> > > so far I've been using haml with joy, but now I'm having a problem I'm
> > > not able to solve: I want to nest content within a div, but only if a
> > > specific local variable is true. The idea is to render a partial with
> > > or without the surrounding "container" div just as needed, in order to
> > > render a new item block or just replace the content within it (as an
> > > AJAX response).
> >
> > > In ERB, I would do something similar to the following:
> >
> > > ######
> >
> > > <% if !skip_outer -%>
> > >   <div id="some_id">
> > > <% end -%>
> >
> > >  <!-- some content here -->
> >
> > > <% if !skip_outer -%>
> > >   </div>
> > > <% end -%>
> >
> > > #######
> >
> > > How do I accomplish the same thing with HAML? If-then statements don't
> > > really work:
> >
> > > - if !skip_outer
> > >   #some_id
> > >   / content here would be rendered only on !skip_outer, and even not
> > > within the div#some_id
> >
> > > neither does it with an else case:
> >
> > > - if !skip_outer
> > >   #some_id
> > > - else
> > >   / content here would be rendered only on skip_outer
> >
> > > Any ideas to get something like that work "gracefully", i.e. without
> > > having to double the content in both if-else-branches?
> >
> > > Thanks in advance.
> > > André
> >
> >
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Haml" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/haml?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to