1
从一个辅助方法返回值,我想打印在具有每个对象的2行,像这样的一个表中的某些对象:问题与Rails的
<tr class="title">
<td>Name</td><td>Price</td>
</tr>
<tr class="content">
<td>Content</td><td>123</td>
</tr>
我products_helper.rb
写一个辅助方法的基础上,答案的this question。
def write_products(products)
products.map {
|product|
content_tag :tr, :class => "title" 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, :class => "content" do
content_tag :td, h(product.content)
content_tag :td, product.count
end
}.join
end
但是,这并不像预期的那样工作。它只返回最后一个节点 - 最后一个<td>123</td>
我应该怎么做才能使它工作?
如果我在两个'content_tag'之间加了一个'+',我得到一个'Internal Server Error':'语法错误,意外的tSYMBEG,期待kDO或'{'或'('' – 2010-04-13 20:57:14
我在括号周围加了括号(content_tag:tr do content_tag(:td,...)+ content_tag(:td,...)结束),这个'content_tag'包含'do'''end'和其他的参数,如下所示:' +(content_tag:tr do ... end)' – 2010-04-14 08:11:32
那有效? – Tilendor 2010-04-14 16:50:23