我继承了以下字符串(我对格式无能为力):
<iframe \n class=\"some_class\"\n type=\"text/html\" \n src=\"/embed/iframe_content.html?id=tsqA5D7_z10\" \n width=\"960\" \n height=\"593\" \n marginwidth=\"0\" \n marginheight=\"0\" \n frameborder=\"0\">\n</iframe>
Run Code Online (Sandbox Code Playgroud)
我在这样的erb模板中呈现它:
<%= the_string %>
Run Code Online (Sandbox Code Playgroud)
目前它呈现为这样的文本:
<iframe class="some_class" type="text/html" src="/embed/iframe_content.html?id=tsqA5D7_z10" width="960" height="593" marginwidth="0" marginheight="0" frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)
我需要将其呈现为HTML.
我尝试过以下方法:
<%= the_string.html_safe %> #渲染字符串不变<%= CGI.unescapeHTML(the_string) %> #类型错误的错误'不能重复NilClass'<%= CGI.unescapeHTML(the_string).html_safe %> #类型错误的错误'不能重复NilClass'<%= raw the_string %> #渲染字符串不变如何将此字符串呈现为HTML?
Mat*_*hew 18
您似乎已经注意到,您需要注意两件事:
对于2号<%= raw ... %>应该工作正常.
对于数字1 CGI.unescapeHTML是正确的想法,但我不认为它识别所有HTML实体,所以我建议看看HTML Entites gem
您也可以尝试使用simple_format帮助器方法,但我认为您将不得不为它传递一些选项以允许<iframe>标记
我也强烈建议将你的unescaping逻辑转换为辅助方法.
小智 8
你是什么unescaping一定不能是一个字符串,这就是为什么你得到一个类型错误的错误 can't dup NilClass
试着做
s = String.new your_obj.to_s
现在做
CGI.unescapeHTML(s)
| 归档时间: |
|
| 查看次数: |
17672 次 |
| 最近记录: |