Je suis en train de créer un centre de notification qui ont pagination (via Kaminari) comme facebook.comment utiliser pagination Kaminari dans l'en-tête
Je souhaite que ce centre affiche la pagination à partir de n'importe quelle page (ce centre est contenu dans un fichier d'en-tête).
Maintenant, j'ai écrit le code ci-dessous, puis il montre de façon appropriée quand j'accède à home.html Mais sa pagination ne fonctionne pas dans une autre page (par exemple, views/test/test.html.erb). Probablement, ajax semble ne pas pouvoir lire le fichier js, donc si je mets le fichier test.js.erb dans les vues/test, cela fonctionnera. En ce qui concerne le fonctionnement et la maintenance, cela n'est pas souhaitable. Comment puis-je lire la pagination en utilisant un seul fichier js.Bar? merci pour votre aide
Le code source est ci-dessous.
Modèle
app/modèles/item.rb
class Item < ActiveRecord::Base
paginates_per 50
end
Contrôleur
app/contrôleur/items_controller.rb
before_action :pagination
def pagination
@items = Item.page params[:page]
end
Voir
app/views/statique/home.html.erb
<%= render 'static/header' %> <!-- reading partial header-->
app/views/statique/_header.html.erb
<div><%= render 'application/items', items:@items %></div>
application /views/static/home.js.erb
$('#items').append("<%= escape_javascript(render '_items', object: @items) %>");
$("#more_link").replaceWith("<%= escape_javascript(link_to_next_page(@items, 'more', remote: true, id: 'more_link')) %>");
app/views/application/_items.html.erb
<div id="items">
<%= render 'items' %>
</div>
<%= link_to_next_page @items, 'more', remote: true, id: 'more_link' %>
app/views/application/__ items.html.erb
<% @items.each do |item| %>
<div><%= item.name %></div>
<% end %>
Merci pour votre réponse! En plus de votre solution, mise en place du routage, enfin, cela a fonctionné parfaitement! Un merci spécial à vos commentaires sur link_to helper! –