加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 23:19:23 所属栏目:百科 来源:网络整理
导读:我在我的Rails(3.0)应用程序中使用自定义帮助器方法输出所需的html时遇到问题. 我在部分视图中有以下呼叫: _label.html.erb % display_resource "Diamond",@resource.diamond % 在resource_helper.rb文件中: module ResourceHelper def display_resource(d
我在我的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读