如何让Rails将html_safe文本呈现为实时链接?

时间:2013-03-10 02:37:33

标签: html csv ruby-on-rails-3.2

我构建了一个CSV上传器来填充我从头开始编码的cms - Rails 3.2.12。其中一列最初是原始的html - 已上传并在桌面上显示的内容。

<a href="http://g.co/maps/phb35">Map</a>

此列是“地图”列,我需要指向Google地图的实时链接。我无法将此列呈现为除文本之外的任何内容。 twitter-bootstrap-rails搞砸了什么?我试过了

@raw

并使用

html_safe

有几种不同的方式并且搞乱了各种助手(助手文件目前是空的);什么都没有用。以下是来自file = show.html.erb

的几次尝试
<dt><strong><%= model_class.human_attribute_name(:map) %>:</strong></dt>
<dd><%= raw @meeting.map.html_safe %></dd>

<dt><strong><%= model_class.human_attribute_name(:map) %>:</strong></dt>
<dd><%= @meeting.map %></dd>

所以也许有一颗宝石有效吗? (哈!)Rinku看起来很有希望,但却是一个半身像。我在这个CMS中有超过580条记录,我不想手动编辑每一条,即使它意味着剥离了     

一部分。谢谢!

这是github:https://github.com/indie/sccaa

2 个答案:

答案 0 :(得分:1)

终于想通了!不需要帮助程序,原始(@anything)或搞乱清理HTML。我使用grep将数据库数据的链接格式更改为直接http://链接,并在使用的<TD>中更改:<%= link_to meeting.map, url_for(meeting.map), target: "_blank" %> ...请在此处查看可爱的结果:https://github.com/indie/aasj

答案 1 :(得分:0)

您的数据是否作为转义的html存储在数据库中?

尝试:

<%= raw CGI.unescapeHTML(@meeting.map) %>