我使用标准的.each循环来列出分配给特定项目合同的作者姓名。Ruby on Rails .last抛出未定义的方法错误?
这工作得很好,当只有一个作者:
<% @product.contracts.each do |product| %>
<%= product.author.full_name %>
<% end %>
但以上的作者,它看起来真的很丑陋。所以我试过这个:
<% @product.contracts.each do |p| %>
<%= p.author.full_name %>
<%= "," unless p == @product.last %>
<% end %>
但是没有奏效。我:undefined method last for #<Product:0x105e7ac38>
然后,我尝试这样做:<%= @product.map{|p| p.author.full_name}.join(",") %>
这也不能工作。我得到了:undefined method map for #<Product:0x105c6d760>
我敢肯定我正在做一些愚蠢的错误,但我看不到它。