前提・実現したいこと
PV数に応じてランキングを表示出来るように実装したのですが、
そこに順位も表示したいです。
発生している問題・エラーメッセージ
viewにどのように記述すれば順位が表示されるのか分からないでいます。
該当のソースコード
ranking.html.erb
ruby
1 2<%= render "shared/header" %> 3<div class="main"> 4 <div class="inner"> 5 <div class="newitem"> 6 <p>Ranking Artists</p> 7 </div> 8 <div class="artist__wrapper"> 9 <%= render partial: "artist", collection: @artists %> 10 </div> 11 </div> 12</div> 13<%= render "shared/footer" %>
_artist.html.erb
ruby
1<div class="card"> 2 <%= link_to image_tag(artist.image, class: :card__img ), artist_path(artist.id), method: :get %> 3 <div class="card__body"> 4 <%= link_to artist.name, artist_path(artist.id), class: :card__artist %> 5 <%= link_to artist.genre.name, artist_path(artist.id), class: :card__genre %> 6 <%= link_to artist.city.name, artist_path(artist.id), class: :card__genre %> 7 <%= artist.impressions_count %> 8 </div> 9</div>
artists.controller.rb
ruby
1class ArtistsController < ApplicationController 2 def show 3 @artist = Artist.find(params[:id]) 4 @songs = @artist.songs.order('id DESC') 5 impressionist(@artist, nil, unique: [:session_hash]) 6 end 7 8 def search 9 if params[:q]&.dig(:name) 10 squished_keywords = params[:q][:name].squish 11 params[:q][:name_cont_any] = squished_keywords.split(" ") 12 end 13 @q = Artist.ransack(params[:q]) 14 @artists = @q.result 15 end 16 17 def ranking 18 @artists = Artist.order(impressions_count: 'DESC') 19 end 20end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/29 03:55
2021/12/29 04:06
2021/12/29 04:19
2021/12/29 04:38