Using spacer img in menu


#1

Hi!

This is what I want…

blog | photos | about

This is what my code gives me…

blog | photos | about |

The last “|” is to much…

  <% for page in @menu_pages %>
    <li><%=page%></li>
    <li>|</li>
  <% end %>

Is there any way I can get some sort of indication whether the array
@menu_pages has a next element?

– Jelle


#2

On Mon, 2007-07-02 at 14:07 -0700, Jolé wrote:

Hi!

This is what I want…

blog | photos | about
Hi,

I use this:

    <%= render(:partial => 'navbar_item',
               :collection => @navbar_items,
               :spacer_template => 'navbar_spacer') %>

With obviously navbar_item displaying an item and the navbar_spacer the
spacer.

Gr. Raymond

Raymond S.


#3

On Jul 2, 2007, at 5:07 PM, Jolé wrote:

The last “|” is to much…

– Jelle

<%= @menu_pages.map { |page|
content_tag(:li, page.to_s)
}.join(content_tag(:li, ‘|’)) %>

Which should probably be extracted to a helper so you can call:

<%= menu_items_for(@menu_pages, ‘|’) %>

And there will probably be someone who says “you should use do-end
for a multi-line block”, but I’m believing (and trying to follow) Jim
Weirich’s style of using {} when the value of the block is used and
do-end otherwise (or when precedence dictates).

-Rob

Rob B. http://agileconsultingllc.com
removed_email_address@domain.invalid