假设我在product.categories
中有一组对象。
我想要发生的是我打印的类别列表,如:
男人,女人
如果我这样做:
<% product.categories.each do |cat| %>
<% if product.categories.count > 1 %>
<%= "#{cat.name}, " %>
<% else %>
<%= "#{cat.name} " %>
<% end %>
<% end %>
打印Men, Women,
。
因此,如果不添加十亿条规则来检查最后一个元素和所有这些内容,我该如何处理以下情况:
,
,
。.
&lt;结尾 - 这是一个很好的但不是必须的。我该如何处理?
感谢。
答案 0 :(得分:2)
<%= product.categories.map{|cat| cat.name}.join(', ').to_s + "." %>
尝试上述,这将有效。如果你想要别的话,请告诉我。
答案 1 :(得分:2)
你可以这样做:
<%= product.categories.collect{|c| c.name} * ', ' %>.
“星号”方法(Array#*
)是Array#join
的别名
请注意ERb标记之外的句点。