Ich benutze das Juwel wille_paginate und ich versuche, es mithilfe von Modellassoziationen zu verwenden. Im Moment habe ich Gruppen- und Post-Modelle, bei denen jede Gruppe eine Liste mit Posts hat. Wenn ich jedoch versuche, diese Modelle mithilfe von will_paginate zu verketten, funktioniert es nicht. Noch teste ich das in meinem Terminal mit Group.find(15).posts.order('created_at DESC')
und es funktioniert. Ich bin mir nicht sicher, ob ich etwas vermisse oder ob es damit zu tun hat, wie ich mit den Teiltönen umgehe.will_paginate gem unter Verwendung von Modellassoziationen
Gruppe show.html.erb
<%= render "posts/index" %>
Beitrag _index.html.erb
<%= render 'posts/posts' %>
...
<%= will_paginate @posts %>
Beitrag _posts.html.erb
<% @group.posts.each do |post| %>
<%= render 'posts/post', post: post, group: @group %>
<% end %>
Beitrag _post.html.erb
...
<%= post.caption %>
Beitrag index.js.erb
$('#posts').append("<%= escape_javascript(render 'posts')%>");
$('.pagination').replaceWith('<%= escape_javascript will_paginate(@posts) %>');
scroll.js
$(document).ready(function() {
if ($('.pagination').length) {
$(window).scroll(function() {
var url = $('.pagination .next_page').attr('href');
if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
$('.pagination').text("Please Wait...");
return $.getScript(url);
}
});
return $(window).scroll();
}
});
Group Controller
def show
@group = Group.find(params[:id])
@posts = @group.posts.paginate(page: params[:page], per_page: 3).order('created_at DESC')
end
Ich habe auch versucht @posts = Post.paginate(page: params[:page], per_page: 3).order('created_at DESC')
, aber es scheint nicht zu funktionieren. Meine Liste der Posts ist nicht in absteigender Reihenfolge sortiert, noch sind sie zu dritt gruppiert. Irgendwelche Ratschläge, wie man dieses Juwel benutzt, wenn man mehrere Modelle benutzt?
Super! Das hat den Trick gemacht. Jetzt habe ich Probleme, meine kontinuierliche Scroll-Funktion über die Dateien index.js.erb und scroll.js, die ich habe, funktionieren zu lassen.Ich hatte diese Funktionen in Arbeit, bin aber dabei, alles in Gruppen zu abstrahieren und dabei Modellzuordnungen zu verwenden. – user3318660
Ich glaube nicht, dass ich beim kontinuierlichen Scrollen helfen kann, aber wenn Sie eine neue Frage dafür schreiben, bin ich sicher, dass es Leute gibt, die es können! –
Danke! Ich werde versuchen, es für eine Weile anzugehen und sehen, ob ich es herausfinden kann. Vielen Dank für Ihre Hilfe sowie für die Vorschläge auf ollaollu! – user3318660