I''ve taken a useful snippet for creating lists from the blog below and turned it into something that can create a nested list from an array of arrays. Thought I''d share it since some of you might find it useful and I also wanted to know if anybody can improve it (in general and also add the ability to use the "cycle helper" by passing it into the helper). Inspiration: http://termos.vemod.net/list-helper-for-rails Here''s the code: def html_list(type, elements, options = {}) items = elements.map do |element| if element.is_a?(Array) element = html_list(type, element, options) else content_tag("li", element) end end content_tag(type, items, options) end def ul(*args) html_list("ul", *args) end def ol(*args) html_list("ol", *args) end This uses recursion so you can pass it an array of arrays. So, this: <%= ul ["first", "first", ["second", ["third", "third", "third"], "second", "second", ["third", "third", "third", ["fourth", "fourth", "fourth"]]]] %> Becomes this (properly nested): <ol> <li>first</li> <li>first</li> <ol> <li>third</li> <ol> <li>second</li> <li>second</li> <li>second</li> </ol> <li>third</li> <li>third</li> <ol> <li>second</li> <li>second</li> <li>second</li> </ol> </ol> </ol> The writeup: http://blog.labratz.net/articles/2007/3/23/back-from-the-abyss-a-helper-to-create-nested-lists --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---