前提・実現したいこと
PV数に応じてランキングを表示出来るように実装したのですが、
そこに順位も表示したいです。
発生している問題・エラーメッセージ
viewにどのように記述すれば順位が表示されるのか分からないでいます。
該当のソースコード
ranking.html.erb
ruby
<%= render "shared/header" %> <div class="main"> <div class="inner"> <div class="newitem"> <p>Ranking Artists</p> </div> <div class="artist__wrapper"> <%= render partial: "artist", collection: @artists %> </div> </div> </div> <%= render "shared/footer" %>
_artist.html.erb
ruby
<div class="card"> <%= link_to image_tag(artist.image, class: :card__img ), artist_path(artist.id), method: :get %> <div class="card__body"> <%= link_to artist.name, artist_path(artist.id), class: :card__artist %> <%= link_to artist.genre.name, artist_path(artist.id), class: :card__genre %> <%= link_to artist.city.name, artist_path(artist.id), class: :card__genre %> <%= artist.impressions_count %> </div> </div>
artists.controller.rb
ruby
class ArtistsController < ApplicationController def show @artist = Artist.find(params[:id]) @songs = @artist.songs.order('id DESC') impressionist(@artist, nil, unique: [:session_hash]) end def search if params[:q]&.dig(:name) squished_keywords = params[:q][:name].squish params[:q][:name_cont_any] = squished_keywords.split(" ") end @q = Artist.ransack(params[:q]) @artists = @q.result end def ranking @artists = Artist.order(impressions_count: 'DESC') end end
まだ回答がついていません
会員登録して回答してみよう