2016-09-21 25 views
0

このコードではエラーは発生しませんが、写真は表示されません。チェックイン要素をチェックインすると、コードの周りの<div>が空になります。 @user.photos.last(5)@user.photos.eachに変更すると、写真が表示されます。しかし、私は最後に追加した写真のうち5枚しか表示しません。`@ photos.last(5)`で写真を制限していません

<%- @user.photos.last(5) do |photo| %> 
    <div class="col-xs-6 col-md-3 no-padding"> 
    <a href="<%= user_photo_path(@user.username, photo.id) %>" class="photo-thumbnail"> 
     <%= image_tag photo.url %> 
    </a> 
    </div> 
<% end %> 

私は間違っていますか?

答えて

3

ドキュメントをもう一度読み進めてください。それはちょっとした問題です。

<%- @user.photos.last(5).each do .... 
+0

これは、 'last(5)'が配列を返すので、ブロックを期待どおりに実行するためにその配列を繰り返し処理する必要があります。 'each'がなければ、' | photo | 'は配列全体を表し、結果ブロックは機能しません。 –

+0

'each'がなければ、' last'はそれを使用しないので、ブロックは無視されます。 – tadman

+0

良い点。 'last'はブロックを一切取りません。 –

関連する問題