On Mar 18, 7:58 pm, John Merlino <[email protected]> wrote: > Frederick Cheung wrote in post #988214: > > > On Mar 18, 7:06pm, John Merlino <[email protected]> wrote: > >> table_str += "\t\t<tr>\n" > >> fields.each do |name| > > >> What the above does is render a big string of what I am wanting to > >> display as html markup. If I add puts(table_str) to the helper method, > >> then nothing gets rendered on the page. > > >> Any idea what I am doing wrong? > > > Have you checked that your table method is actually being called (eg > > by sticking a breakpoint in it or some calls to Rails.logger.info) ? > > > Fred > > Im pretty sure it gets called because it outputs html as one huge string > e.g. '<table><th>Item</th>' and one long string displays in the browser. > That's when I don't add puts at the end of the helper method. When I add > puts and pass in the concatenated string, nothing gets displayed at all.
Oops, had missed the comment about the output you get. Sticking in puts suppresses all output because the result of puts is always nil. You're seeing the html because rails automatically escape html for you these days. You can call html_safe on a string to mark it as not needing escaping (although that shifts the responsibility of checking that things are indeed safe to you ) Fred > > -- > Posted viahttp://www.ruby-forum.com/. -- 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.

