1

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

<% 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 } %>
4

1 回答 1

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>代替。

于 2012-05-15T17:17:35.880 回答