I upgrading my old rails application with new rails version 3.0.1 , In
my old application i stored html tagged data(i.e
i am paragraph
tagged word
) in database(i.e mysql) and i renderd the html tagged
data in view means. The browser detect the html tag and generate the
relevent view of data string (i.e i am paragraph tagged word)
Controller:
@test=Text.find(1)
View:
<div>Text from database: <span style="xxxx"><%[email protected]%> </span>
Expected output in browser:
Text from database: i am paragraph tagged word
Note: It is working fine in rails 2.3.8
Result output in browser for rails 3.0.1:
Text from database: <p> i am paragraph tagged word </p>
Why i didn’t get the html result generated output in rails 3.0.1
Corrector suggest me what went wrong ?
@test=Text.find(1)
Result output in browser for rails 3.0.1:
Text from database:
i am paragraph tagged word
Why i didn’t get the html result generated output in rails 3.0.1
Corrector suggest me what went wrong ?
Rails escapes your html for you these days, and by default it will
assume that a piece of text of unknown provenance is not safe and so
will escape it.
You can either use the raw view helper or call html_safe on the string
itself, ie
<%= raw some_method_returning_html %> or <%
some_method_returning_html.html_safe %>
@test=Text.find(1)
Result output in browser for rails 3.0.1:
Text from database:
i am paragraph tagged word
Why i didn’t get the html result generated output in rails 3.0.1
Corrector suggest me what went wrong ?
Rails escapes your html for you these days, and by default it will
assume that a piece of text of unknown provenance is not safe and so
will escape it.
You can either use the raw view helper or call html_safe on the string
itself, ie
<%= raw some_method_returning_html %> or <%
some_method_returning_html.html_safe %>
Fred
Hi Fred,
Thanks for the quick reply, It works fine for me,
Jak
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.