You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rails中显示link_to助手生成的HTML纯字符串

解决方案

要把link_to生成的HTML以纯字符串形式输出(让浏览器显示原始的HTML标签文本,而非渲染成可点击的链接),你可以用Rails提供的h(别名html_escape)方法处理link_to的返回值:

示例代码

原代码(会渲染成可点击的链接):

<%= link_to pdf.title, pdf.file.url(:original, false), target: :_blank %>

修改后的代码(输出纯HTML字符串):

<%= h link_to pdf.title, pdf.file.url(:original, false), target: :_blank %>

为什么这样有效?

link_to助手默认返回ActiveSupport::SafeBuffer类型的对象——Rails会把它标记为「安全的HTML」,直接渲染内容而不转义特殊字符。而你之前用的debug方法,会自动把内容包裹在格式化的<pre>标签里,所以才会出现灰色框。

h方法的作用是对字符串做HTML转义:它会把<、>、"这类特殊字符转换成对应的HTML实体(比如&lt;、&gt;),这样浏览器就会把这些标签当成普通文本展示,而不是解析成HTML元素。

最终效果

修改后页面会直接显示原始的HTML字符串:

<a target="_blank" href="/system/pdfs/files/000/000/005/original/cv.pdf">my pdf file!</a>

内容的提问来源于stack exchange,提问作者Metaphysiker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:42:40