【发布时间】:2016-07-14 19:14:38
【问题描述】:
我需要在我的网页标题中显示一些上标和下标字符。我有一个辅助方法可以识别下标或上标的模式,并将其转换为 &sub2;或²
但是,当它显示在渲染页面的文件中时,它在源代码中显示为:
&sub2;
这是不对的。我将其设置为:
<% provide(:title, raw(format_title(@hash[:page_title]))) %>
但是原始文件不起作用。任何帮助表示赞赏。
方法:
def format_title(name)
label = name
if label.match /(_[\d]+_)+|(~[\d]+~)+/
label = label.gsub(/(_([\d]+)_)+/, '&sub\2;')
label = label.gsub(/(~([\d]+)~)+/, '&sup\2;')
label.html_safe
else
name
end
结束
我什至尝试过:
str.gsub(/&/, '&')
但它会回馈:
&amp;sub2;
【问题讨论】:
-
你的
format_title方法中有什么? -
<% provide....缺少=是不是错字?在.erb中,为了让嵌入的红宝石可见,我们必须使用<%= provide...,对吧? -
添加方法@NicNilov
标签: ruby-on-rails ruby