Ruby on rails Rails中从帮助器方法返回值时出现问题
我想在每个对象有2行的表中打印一些对象,如下所示:Ruby on rails Rails中从帮助器方法返回值时出现问题,ruby-on-rails,return-value,helpermethods,Ruby On Rails,Return Value,Helpermethods,我想在每个对象有2行的表中打印一些对象,如下所示: <tr class="title"> <td>Name</td><td>Price</td> </tr> <tr class="content"> <td>Content</td><td>123</td> </tr> 但这并不像预期的那样有效。它只返回最后一个节点-最后一个123 我应
<tr class="title">
<td>Name</td><td>Price</td>
</tr>
<tr class="content">
<td>Content</td><td>123</td>
</tr>
但这并不像预期的那样有效。它只返回最后一个节点-最后一个123
我应该怎么做才能使它工作?记住函数内容标签返回一个字符串。它不会直接写入页面。因此,您使用TDs所做的是:
content_tag :tr do
content_tag :td do
link_to h(product.name), product, :title=>product.name
end
content_tag :td do
product.price
end
end
如果我们对此进行部分评估
content_tag :tr do
"<td title='Ducks'> <a ...>Ducks</a></td>"
"<td>19</td>"
end
您必须在TR级别执行相同的操作,只需在第一个content_标记结束后添加一个加号。如果我在两个
content_标记之间添加一个+
,我会得到一个内部服务器错误
:语法错误,意外的tSYMBEG,预期为kDO或“{”或“(“
我用do
-end
在content\u标记
s周围添加了括号,并在其他类似的参数周围添加了括号:(content\u标记:tr do content\u标记(:td,))+content\u标记(:td,…)end)+(content\u标记:tr do…end)
content_tag :tr do
"<td title='Ducks'> <a ...>Ducks</a></td>"
"<td>19</td>"
end
content_tag :tr do
(content_tag(:td) do
link_to h(product.name), product, :title=>product.name
end) + #SEE THE PLUS IS ADDED HERE
(content_tag(:td) do
product.price
end)
end