当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 处理html.erb中的引号

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在我的html.erb文件中设置图像的数据元素: img src="%=image%" data-description="%= auto_link(step.description)%"/ 问题是我的step.description中有时会引用干扰,因此数据描述设置不正确,例如: img sr
我正在我的html.erb文件中设置图像的数据元素:

<img src="<%=image%>" data-description="<%= auto_link(step.description)%>"/>

问题是我的step.description中有时会引用干扰,因此数据描述设置不正确,例如:

<img src="..." data-description="<pre><code class=" language-java"="" style="width: 193px; height: 257px; margin-left: -96.5px; margin-top: -128.5px; opacity: 1;">

如何删除erb文件中的冲突引号?

有一个名为j或escape_javascript的辅助方法,它将转义字符串中的引号,并且可以将带引号的字符串添加到元素上的属性,就像您尝试做的那样. More info here

因此,将您的代码更改为:

<img src="<%=image%>" data-description="<%=j auto_link(step.description)%>"/>

只需添加j即可为​​任何带引号的字符串执行此操作.

如果您还将HTML放在HTML属性中,则必须使用html_escape帮助程序转义html:

<img src="<%=image%>" data-description="<%=h j(auto_link(step.description))%>"/>

h是html_escape的缩写.这应该逃避属性内的标签,而不是破坏你的布局.

网友评论