尝试显示用户贡献的歌曲,如果用户贡献了任何歌曲。我想写一个有条件的表达:
如果当前用户为歌曲做出了贡献,则循环播放它们并在列表中显示歌曲。 否则,不要显示任何内容。
继承我的showpage部分:
<div class ="col-md-4 transparent" id="my-contributes">
<h3>Tracks contributed to</h3>
<div class="list-group" id="contributed_tracks">
<% @contributed_songs.each do |song| %>
<a href="#" class="list-group-item">
<h4 class="list-group-item-heading"><%= song.username %> - <%= song.title %></h4>
<p class="list-group-item-text"></p>
</a>
<% end %>
</div>
</div>
歌曲#指数:
def index
if current_user
@songs = current_user.songs.all
elsif current_user.nil?
@songs = Song.all
end
@title = "MusicApp"
@contibuted_versions = Version.where(:user_id => current_user.id)
@contributed_songs = []
@contributed_versions.each do |version|
@contributed_songs << version.song
end
@contributed_songs.uniq!
end
我知道需要{:1}}语句:
if
且 <div class="list-group" id="contributed_tracks">
<% @contributed_songs.each do |song| %>
<a href="#" class="list-group-item">
<h4 class="list-group-item-heading"><%= song.username %> - <%= song.title %></h4>
<p class="list-group-item-text"></p>
</a>
<% end %>
</div>
不包含任何内容,我只是不知道else
提供歌曲的语法。
答案 0 :(得分:0)
<% unless @contributed_songs.empty? %>
<div class ="col-md-4 transparent" id="my-contributes">
<h3>Tracks contributed to</h3>
<div class="list-group" id="contributed_tracks">
<% @contributed_songs.each do |song| %>
<a href="#" class="list-group-item">
<h4 class="list-group-item-heading"><%= song.username %> - <%= song.title %></h4>
<p class="list-group-item-text"></p>
</a>
<% end %>
</div>
</div>
<% end %>
如果没有贡献的歌曲,不显示任何内容。 @contributed_songs
在您的实施中永远不应该是nil
(除非您输入错字:p)