thanks, i'll test it = Haml::Engine.new(list_all_categories(@categories)).render(self) in the view seems to render correctly ...
On 20 jan, 16:03, Colin Law <[email protected]> wrote: > On 20 January 2011 14:40, Erwin <[email protected]> wrote: > > > > > > > > > > > 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 " "+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. > > > > > > > > > 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 -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

