[HAML + RAILS 3] cannot output the html from my view helper... just output a string

I am stuck for hours with a view helper I cannot make it running
well .

In my haml view I wrote

  %h3= I18n.t(:category_list)
  #category-list
    = list_all_categories(@categories)

and my helper just output all the html code as a STRING ....

  def list_all_categories(categories)
    if categories.size > 0
      ret = "<ul>\n"
      categories.each { |subcategory|
        ret += "<li>\n"
        ret += link_to h(subcategory.name), admin_categories_path
        ret += link_to "&nbsp;&nbsp;"+h("<add>"),
admin_categories_path
        ret += "\n"
        if subcategory.children.size > 0
          ret += list_all_categories(subcategory.children)
        end
        ret += "</li>\n"
      }
      ret += "</ul>\n"
    end
  end

as you noticed I have a nested function in it ... the output html is
correct but it's a string in the view, not the raw html

what should I use then ?

I am stuck for hours with a view helper I cannot make it running
well .

In my haml view I wrote

   %h3= I18n\.t\(:category\_list\)
   \#category\-list
           = list\_all\_categories\(@categories\)

and my helper just output all the html code as a STRING ....

def list_all_categories(categories)
if categories.size > 0
ret = "<ul>\n"
categories.each { |subcategory|
ret += "<li>\n"
ret += link_to h(subcategory.name), admin_categories_path
ret += link_to "&nbsp;&nbsp;"+h("<add>"),
admin_categories_path
ret += "\n"
if subcategory.children.size > 0
ret += list_all_categories(subcategory.children)
end
ret += "</li>\n"
}
ret += "</ul>\n"
end

You need to tell rails 3 that this is html save so insert here
  ret.html_safe

Also make sure that you have escaped anything you got out of the db
and put into ret.

thanks, i'll test it

= Haml::Engine.new(list_all_categories(@categories)).render(self)
in the view seems to render correctly ...