Ich erstelle eine persönlich entwickelte App und denke, dass die Verwendung einfacher ist, wenn Sie sie in der Reihenfolge der beliebten Beiträge sehen können. Grundsätzlich habe ich es unter Bezugnahme auf [diesen Artikel] implementiert (https://qiita.com/mitsumitsu1128/items/18fa5e49a27e727f00b4m).
routes.rb
routes.rb
get 'rank' => 'shops#rank'
In meinem Fall habe ich es auf die Rangaktion des Shop-Controllers gesetzt.
shops_controller.rb
shops_controller.rb
def rank
@all_ranks = Shop.find(Favorite.group(:id).order('count(shop_id) desc').limit(5).pluck(:shop_id))
end
Definieren Sie die Rangmethode im Shop-Controller. Anzeige in der Reihenfolge der Beiträge mit den meisten Likes.
rank.html.slim
ruby:rank.html.slim
- @all_ranks.each.with_index(1) do |shop, i|
h5.col-md-5
.card.shadow
| No.
= i
|
= link_to shop.name, shop_path(shop)
= link_to((image_tag shop.picture.url), shop_path(shop.id), class: 'shop-picture') if shop.picture.url.present?
Erstellen Sie eine Ansichtsdatei und zeigen Sie sie an. Auszug als Beispiel. Ändern Sie danach das Erscheinungsbild mit CSS.
python
@all_ranks.each.with_index(1) do |shop, i|
Von oben können Sie in absteigender Reihenfolge der Likes anzeigen.
Die Anzeige im Rangformat wurde problemlos abgeschlossen.
Recommended Posts