Dieses Mal werde ich den Beispielcode einführen, um eine Pagenation für das Array zu erstellen und ihn in der Ansicht anzuzeigen.
Ich habe einen solchen Code auf den Controller geschrieben, um meine Lieblingsprodukte auf der Seite "Benutzer" des Benutzers anzuzeigen. Dies kann tatsächlich einfacher durch Verknüpfen erfolgen. Lesen Sie daher bitte den folgenden Artikel! https://qiita.com/yummy888/items/22db2f8b79b5be148b69
def index
items = []
likes = Like.where(user_id: params[:item_id])
if likes.present?
likes.each { |like| items << Item.find(like.item_id)}
end
@items = Kaminari.paginate_array(items).page(params[:page]).per(15)
end
Warum übergeben Sie params [: item_id] an user_id? Sie haben vielleicht gedacht, aber da Likes in Elementen in root.rb verschachtelt sind, übergeben Sie auf diese Weise Parameter. (In dem Parameter wird current_user über den Pfad übergeben, in dem es sich befindet: item_id.) Wenn dies der Fall ist, können Sie Elemente in Verwendungen verschachteln und dann verschachteln, um schönere Parameter zu übergeben.
Ich mache es mit haml. Wenn es erb ist, fühlt es sich an, als würde die Pagenation knapp unter das Ende jeder Aussage gesetzt
- @items.each do |item|
= link_to item_path(item), class: "user__liked__items" do
.user__liked__items__image
= image_tag "#{item.images[0].image.url}", height:"50px", width: "50px", class: "user__liked__item__image"
-if item.buyer_id.present?
.items__image__sold
.items__image__sold__inner
SOLD
.user__liked__item__details
.user__liked__item__name
= item.name
.user__liked__item__price
%span
¥
= item.price.to_s(:delimited)
%i.fas.fa-chevron-right
= paginate @items
Wenn ich verschiedene Dinge selbst implementieren kann, habe ich das Gefühl, dass ich die Suche nach einer einfacheren Implementierungsmethode aufgegeben habe, deshalb möchte ich das verbessern ... Ich muss es nur ein wenig tun können. Kanno: Santa:
Aber wenn Sie Pagenationen erstellen möchten, müssen Sie trotzdem verschiedene Dinge mit dem Controller tun? ?? Sie können in der Ansicht keine Parameter [: Seite] ausführen, oder? Vielleicht
Möchten Sie bei der nächsten Implementierung dieser Funktion eine andere Implementierungsmethode ausprobieren: frowning2:
https://blog.konboi.com/post/2013/03/31/224939/
Recommended Posts