在一行上使用link_to进行阻止

时间:2012-05-15 17:16:34

标签: ruby-on-rails ruby erb

如何在一行中执行以下操作?

<% song.albums.each do |album| %>
  <%= link_to album.title, album %><br />
<% end %>

我尝试了两种没有效果的方法。

这给了我整个数组:

<%= song.albums.each {|album| link_to album.title, album } %>

此输出为空白:

<% song.albums.each {|album| link_to album.title, album } %>

1 个答案:

答案 0 :(得分:2)

<%= song.albums.map{ |a| link_to(a.title,a) }.join("<br/>").html_safe %>

如果你确实需要/想要在最后一项之后加上<br/>,那么要么把它放在这个块之后,要么使用:

<%= song.albums.map{ |a| "#{link_to(a.title,a)}<br/>" }.join.html_safe %>

请注意,在HTML中使用明确的<br/>通常是“代码味道”;您可能应该在锚点或display:block等包裹元素上使用CSS <li>