ruby-on-rails – Rails查看帮助程序不将HTML插入页面

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails查看帮助程序不将HTML插入页面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的Rails(3.0)应用程序中使用自定义帮助器方法输出所需的html时遇到问题.

我在部分视图中有以下呼叫:
_label.html.erb

<% display_resource "Diamond",@resource.diamond %>

在resource_helper.rb文件中:

module ResourceHelper
   def display_resource(display_name,value)
      "<tr><td>#{display_name} </td><td>#{value.to_s}%</td></tr>" if value > 0
   end
end

预期的输出是:

<tr>
  <td>Diamond</td>
  <td>15%</td>
<tr>

*授予,没有格式化,15是任意的

如果我使用<%= ...%>当执行方法调用时,它将正确输出字符串,但它不会是html(即我将看到“< tr>< td> Diamond< / td>< td> 15%< / td>< / tr>“而不是”钻石15%“)

我做错了什么?

解决方法

您需要将返回的字符串标记为“ raw”,然后使用<%=%>
module ResourceHelper
   def display_resource(display_name,value)
      raw("<tr><td>#{display_name} </td><td>#{value.to_s}%</td></tr>") if value > 0 # string wrapped in raw
   end
end
原文链接:https://www.f2er.com/ruby/264803.html

猜你在找的Ruby相关文章