我正在使用Rails 5在Web浏览器中显示数据库内容。
在db中,所有特殊字符都以ascii格式写入。例如,它不是撇号,而是写成'
。
因此,我的观点是显示ascii代码。有没有办法将它们全部转换为视图的字符?
答案 0 :(得分:3)
使用Rails转换包含HTML字符实体的任何字符串:
CGI.unescape_html "It doesn't look right" # => "It doesn't look right"
CGI
模块位于Ruby标准库中,默认情况下是Rails所必需的。如果你想在非Rails项目中做同样的事情:
require 'cgi'
CGI.unescape_html "It doesn't look right"
答案 1 :(得分:0)
根据您的示例,如果您想定义自己的帮助程序,这是一个简单的Ruby解决方案
39.chr # => "'"
'''.delete('&#;').to_i.chr # => "'"
module ApplicationHelper
def ascii_to_char(ascii)
ascii.delete('&#;').to_i.chr
end
end
# in the views
ascii_to_char(''') # => "'"
如果您真正需要的是完整的HTML转义,请参阅@ forsym的回答
答案 2 :(得分:0)
在存储到数据库之前,字符通过一些“html实体”转换来提供。回去修复一下。