ruby-on-rails-3 - 导轨3 : how to disable automatic conversion of HTML tags?

标签 ruby-on-rails-3

如何在 Rails3 中禁用 HTML 标签的自动转换?我在某些 Controller View 中有输出。例如,我有输出简单 HTML 链接集的方法..

[:en, :de].map{ |locale| link_to locate.to_s.upcase , { :locale => locate } ...

鉴于我正在调用我的方法 <%= my_method %>

结果我得到了这个:

| &lt;a href=&quot;/login?class=language_selected&amp;amp;locale=en&quot;&gt;EN&lt;/a&gt;

如何禁用它?

最佳答案

我没有使用过 Rails3,所以不能保证。但看起来这与您的方法返回一个列表这一事实有关。

Rails 通常会通过转义特殊字符并显示数据的 html 转义解释来格式化内部数据结构以进行输出。

尝试将 .join 添加到 map 调用的末尾以返回字符串

[:en, :de].map{ |locale| 
  link_to locate.to_s.upcase , { :locale => locate }
   ...
}.join("<br/>")

rwilliams 又名 r-dub 使用 raw 的建议可能是此代码的必要补充。然而,列表中的 raw 可能会因为内部 to_string 调用而给您带来不良结果。这是隐式连接(“”)。因此,除了返回字符串之外,还要将 raw 添加到方法调用中。

<%= raw my_method %>

关于ruby-on-rails-3 - 导轨3 : how to disable automatic conversion of HTML tags?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4178142/

相关文章:

ruby-on-rails-3 - Rails 祖先分页

ruby-on-rails - 如何在帮助程序规范中访问 c​​ookie?

ruby-on-rails - 无方法错误 : undefined method `last_comment' after upgrading to rake 11

javascript - 使用 JavaScript 文件创建 Ruby gem (Rails 3)

ruby - Rails current_path helper ?

ruby-on-rails - carrierwave uploader 上传文件,但仍然提供 default_url

ruby-on-rails - 如何在Ruby on Rails上下载YouTube视频

ruby - 使用 Rspec 在单元测试中测试 "accepts_nested_attributes_for"

ruby - 守卫监视文件的控制台中没有 rspec 输出

ruby-on-rails-3 - Ruby on Rails 无需密码即可更新设计用户属性