在 Rails 3 视图中转义 Html

2024-01-09

我正在使用 Rails 3。我想在 erb 模板内显示生成的 html 片段

<%= "<div>Foo Bar</div>" %>

Rails 对 div 标签进行编码。

如果我对 Rails 2 的看法是正确的<%=h导致 html 转义。似乎Rails 3中已更改。如何在Rails 3中插入不编码的html片段?

问候, 阿列克谢.


我假设编码是指 html 转义:

要在 Rails 3 中输出原始 html,您可以使用三种不同的方法。

  1. 你可以使用raw输出原始 html 的助手

    <% some_string = "<div>Hello World!</div>" %>
    <%= some_string %>
    <!-- outputs: &lt;div&gt;Hello Worlds!&lt;/div&gt; -->
    <%=raw some_string %>
    <!-- outputs: <div>Hello Worlds!</div> -->
    

    更多信息:ActionView::Helpers::OutputSafetyHelper#raw http://api.rubyonrails.org/classes/ActionView/Helpers/OutputSafetyHelper.html#method-i-raw

  2. 您可以将字符串标记为html_safe

    <% some_string = "<div>Hello World!</div>".html_safe %>
    <%= some_string %>
    <!-- outputs: <div>Hello World!</div> -->
    

    更多信息:字符串#html_safe http://api.rubyonrails.org/classes/String.html#method-i-html_safe and ActiveSupport::SafeBuffer#new http://api.rubyonrails.org/classes/ActiveSupport/SafeBuffer.html#method-c-new

  3. 您可以使用以下命令清理您的输出sanitize

    <%=sanitize "<div>Hello World!</div>", tags: %w( div ) %>
    

    更多信息:ActionView::Helpers::SanitizeHelper#sanitze http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-sanitize

更多信息:

  • SafeBuffers 和 Rails 3.0 http://yehudakatz.com/2010/02/01/safebuffers-and-rails-3-0/
  • Railscast #204:Rails 3 中的 XSS 保护 http://railscasts.com/episodes/204-xss-protection-in-rails-3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Rails 3 视图中转义 Html 的相关文章

  • 当一组工作人员完成时如何执行 Sidekiq 回调

    假设我有一个 Sidekiq 任务将产品处理到我的数据库 每个产品都按商店分组 因此我的代码的一个过于简化的示例将是这样的 stores each do store store products each do product Produc
  • Rails:format.js 或 format.json,或两者?

    可能很明显 但我仍然缺乏基本知识 那么在控制器内部 两者都可以使用 还是总是 Javascript 所以两者是相同的 json and js是两种不同类型的响应 它们在 Rails 中被定义为不同的 MIME 类型 Mime Type re
  • 如何在 Rails 控制器中调用通道方法?

    我有一个订阅用户的 ActionCable 方法 如果启动新的 convo 我也希望用户订阅新频道 我无法找出在控制器中调用通道方法的正确语法 更新 问题是消息在发送时附加到聊天框 但是当发送第一条消息时 Websocket 连接尚未建立
  • 在 Rails 的文本字段中显示链接

    在我的 Rails 3 1 应用程序中 我有一个用于评论的文本字段 我希望能够允许人们包含可点击的链接 而不仅仅是显示为纯文本的 url 以及让文本字段识别用户何时文本字段中的换行符 用户无需添加 html 我怎样才能做到这一点 如果用户将
  • 使用 Fetch 和 FormData API 上传多个文件

    我正在尝试使用本机Fetch https developer mozilla org en US docs Web API Fetch API and FormData https developer mozilla org en US d
  • Rails:CSRF 令牌不工作但已设置

    我在 Heroku 上有我的 Rails 3 应用程序 当我发送银行信息时 我得到 WARNING Can t verify CSRF token authenticity但我的 CSRF 令牌已设置 https gist github c
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • 为什么“捆绑”会在我的开发机器上安装生产 gem?

    Gemfile 说 gem sqlite3 groups gt development test gem mysql2 group gt production 然而当我打字时bundle install在我的开发机器上安装了所有 gem 我
  • Rails Active Admin css 与 Twitter Bootstrap css 冲突

    我对 Rails 资产管道有点陌生 所以我可能做错了什么 我正在尝试为我的后端使用 Active Admin 为我的前端应用程序使用 twitter bootstrap css 我将 bootstrap css 添加到 应用程序 资产 样式
  • 在 Rails 3 中选择性地关闭 Devise 的 Flash 通知

    Devise 身份验证框架在各处都使用 Flash 通知 这使得与应用程序集成变得很容易 但有时会导致用户体验不佳 我想知道有什么简单的方法可以有选择地关闭 Rails 3 应用程序中的一些 Devise flash 通知 特别是 我想摆脱
  • 将 Rails 变量传递给液体可以在控制台中工作,但不在视图中

    我想将哈希传递给渲染方法 当我这样做时 在我的控制台中一切正常 object Object find params id hash object object to liquid template Liquid Template parse
  • Rubymine 6 更新/刷新 Rails 项目中可用的方法和路径?

    这是一个例子 假设我更新路线resources foo这给我带来了一些新的道路 例如 new foo session当我开始在 ERB 视图中输入路径时 我希望它向我显示 建议自动完成与路径匹配的名称 当我输入 new foo 我会得到所有
  • 如何从 Rails 中的 date_select 或 select_date 获取日期?

    Using select date给我回一个params my date with year month and day属性 如何轻松获取 Date 对象 我希望有类似的事情params my date to date 我很高兴使用date
  • 如何从 ruby​​ 中的字符串名称创建类实例?

    我有一个类的名称 我想创建该类的一个实例 以便我可以循环该类的架构中存在的每个 Rails 属性 我该怎么做呢 我的名称是我想要检查的类的字符串 我想我需要实例化一个类实例 以便我可以 循环遍历它的属性并打印它们 在 Rails 中你可以这
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • 仅删除多对多关系

    我有一个 has and belongs to many friends join table gt friends peoples 要添加朋友 我会这样做 people followers lt lt friend这会创建关系和新的个人资
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 我在 Rails 中使用了保留字吗?

    这是我的模型 class Record lt ActiveRecord Base belongs to user belongs to directory end class Directory lt ActiveRecord Base h
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g

随机推荐

  • 在单页应用程序中创建临时 URL

    在我的基于反应的单页面应用程序中 我的页面分为两个窗格 左窗格 过滤器面板 右窗格 网格 包含通过应用过滤器的数据的表 总之 我有一个看起来与 amazon com 非常相似的应用程序 默认情况下 当用户在浏览器中点击应用程序的根端点 时
  • 删除断开连接 socket.io 上的对象

    我正在使用 Nodejs 和 Socket io 当客户端连接时 会创建新的 JavaScript 对象 这些物体会永远存在吗 当客户端断开连接时是否应该删除或删除它们 甚至可以移除一个物体吗 我知道删除是行不通的 谢谢 我想这更像是一个一
  • Django url templatetag (但不是 reverse() )错误:渲染时捕获 NoReverseMatch

    我正在尝试使用 url 模板标签 url all labs map 但是当我查看该页面时 我收到此错误 Caught NoReverseMatch while rendering Reverse for all labs map with
  • SQL Server 2016 时间戳数据类型

    我有以下问题 我正在使用一种归档软件 将其数据导出到 MS SQL 数据库 其中一列被指定为 Timestamp S 代表 unix 时间 它是一个 32 位整数 该数据库需要通过不同的报告软件进行查询 问题是报告软件要求其条目有一个名为
  • 如何通过代码获取android中的默认设备辅助应用程序?

    我的手机安装了两个语音搜索 Google 应用程序和 S voice 应用程序 默认应用程序是 S voice 应用程序 如下图所示 我的问题是 我们如何在Android 6 0中使用编程方式获得默认的语音应用程序 先感谢您 这就是我所做的
  • 中等信任文件 I/O 权限

    根据这个关于中等信任度的 MSDN 文章 http msdn microsoft com en us library ff648344 aspx paght000020 mediumtrustsummary 在中等信任度下 文件IO权限受到
  • 在 C++ 中,编写在 main() 之前执行的代码是否是一种好的形式?

    全局声明的类的构造函数在进入 main 之前被调用 虽然这可能会让代码的新读者感到困惑 因为这种情况很少发生 但这一定是一个坏主意吗 它不是一定这是一个坏主意 但通常是的 首先 它是全局数据 而全局数据通常是一件坏事 你拥有的全局状态越多
  • PDE Headless 构建的目标平台不起作用

    我目前正在尝试让我的无头 pde 构建工作 但我陷入了一个我不知道如何继续的点 问题是如何定义相关的目标平台来编译插件 我有一个包含以下调用的 build bat 全部在一行中 java jar D target eclipse plugi
  • asp.net mvc 2 向导

    有人有 ASP NET MVC 2 中向导控件的一些代码的链接吗 最好不使用会话 我想保留步骤之间的所有值
  • 将 Javascript 添加到自定义语言 - ACE 编辑器

    我正在使用 ACE 编辑器来使用 JSON 作为基础的自定义元语言 但我想在用户输入类似内容时添加Javascript 自定义 函数 参数 javascript 代码 这个想法是使用 JS 已经使用的样式来突出显示 javascript 代
  • 有AES加密解密的cocoa源代码吗?

    我正在寻找一些关于 AES 加密的可可代码 并且我做了一些谷歌搜索 我发现这个非常有用的链接 http iphonedevelopment blogspot com 2009 02 strong encryption for cocoa c
  • 为什么 void{} 不存在? [复制]

    这个问题在这里已经有答案了 我想知道为什么void 是一个纯右值void but void 不存在 请参阅以下答案 https stackoverflow com a 37708167 293195 https stackoverflow
  • Spring-Hibernate 应用程序:非法访问:此 Web 应用程序实例已停止

    我正在以正确的方式处理连接 1 我在我的应用程序中使用 Hibernate 连接池 每当我从池中获得连接时 我都会在完成事务后返回池 2 我已监视数据库以检查连接 我将 空闲连接 时间设置为 60 秒 我发现没有连接对象运行时间超过 60
  • select2 在选择值时提醒所选选项

    在 select2 中 如何提醒为多重选择选择的选项 这是我在选择 select2 选项时触发的代码 这只会提醒已选择的值 不是我选择的选项 我也不能这样做 var test list val alert test 因为它只会提醒已经选择的
  • 通过CSS改变图像的颜色

    我正在尝试使用 css 将图像更改为红色 这就是我到目前为止所拥有的 img webkit filter invert 90 filter invert 90 https jsfiddle net md1 https jsfiddle ne
  • 使用远程身份验证进行单元测试

    我在我的应用程序使用 Django 的默认身份验证时编写了一套测试 但现在我添加了 Atlassian Crowd 作为身份验证方法 这些测试现在失败了 主要是因为当我想运行时 Crowd 服务器不存在我在家进行的测试 每个应用程序的 se
  • MySQL 生成嵌套 JSON 对象

    我正在尝试从 Many to many 关系生成嵌套 JSON 对象 我正在尝试找到下面的 JSON 模式 user id 151 user name Sam123 role desc Power User user id 152 user
  • 从媒体 id 获取 Instagram 帖子 url

    我有帖子media id在我手中 我想知道是否有办法从中创建有效的网址 例如 如果您手上有一个 Facebook 帖子 ID xxxx yyyy 您可以从中创建以下 url http facebook com http facebook c
  • 存储过程是否有助于消除 SQL 注入/存储过程相对于应用程序中的普通 SQL 语句有哪些优势?

    我对 SQL 世界还很陌生 这是我的问题 与应用程序中的普通 SQL 语句相比 存储过程有哪些优点 存储过程有助于消除 SQL 注入吗 在 Microsoft SQL Server 中 它称为存储过程 在 Oracle MySQL DB2
  • 在 Rails 3 视图中转义 Html

    我正在使用 Rails 3 我想在 erb 模板内显示生成的 html 片段 Rails 对 div 标签进行编码 如果我对 Rails 2 的看法是正确的