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