1

1行で次のことを行うにはどうすればよいですか?

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

うまくいかなかった2つのアプローチを試しました。

これにより、配列全体が得られます。

<%= 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 に答える