【发布时间】:2010-09-30 14:20:02
【问题描述】:
我在我的 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>" 而不是 "Diamond 15%")
我做错了什么?
【问题讨论】:
-
不打印的主要原因是你使用
<% %>而不是<%= %> -
如果我使用 它会输出字符串,但它会是实际的字符串(因为这是 rails 现在的默认行为 - 以防止 XSS 和其他类型的可能出现的安全漏洞)