掲示板サイトで、トップページには下記のように、新着トピック一覧を表示しています。
【index-controller.rb】
ruby
1 def index 2 @topics = Topic.all.order("id DESC").page(params[:page]).per(25) 3 end
【index.html.erb】
ruby
1<% @topics.each do |topic| %> 2 <%= topic.title %> 3<% end %>
それぞれのトピックにはコメントができるのですが、このトピック一覧を、「コメントが1件以上ついているもののみ一覧表示」にしたいです。
試しに、下記のようにしたのですが、たしかに1件以上のものしか表示はされなかったのですが、ただ表示されてないだけでループはされている?っぽいので、何も表示されていないのにも関わらずページネーションが存在します。
(25件表示でページネーションをつけており、トピックは全部で50件、つまり2ページ分ある。コメントが1件以上のトピックは5件しかないのに、ページネーションは2ページ目まであり、2ページ目は表示されない。)
ruby
1<% @topics.each do |topic| %> 2 <% if topic.comments.count >= 1 %> 3 <%= topic.title %> 4 <% end %> 5<% end %>
すみませんが、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/28 16:56
2017/11/28 17:00
退会済みユーザー
2017/11/29 00:54
2017/11/29 07:14
退会済みユーザー
2017/11/29 07:22
2017/11/29 11:23