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.
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) ?
>> 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 )
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 )