私はwill_paginateの宝石を使用しています。私はモデルの関連付けを使ってそれを利用しようとしています。今、グループと投稿のモデルがあり、各グループには投稿のリストがあります。しかし、will_paginateを使ってこれらのモデルを連鎖しようとすると、うまく動作しません。しかし私はGroup.find(15).posts.order('created_at DESC')
と私の端末でこれをテストし、それは動作します。私が何かを逃しているのか、それとも私がどのように部分的なものを扱っているのかがわからない場合。will_paginate gem with model associations
グループshow.html.erb
<%= render "posts/index" %>
ポスト_index.html.erb
<%= render 'posts/posts' %>
...
<%= will_paginate @posts %>
ポストは
<% @group.posts.each do |post| %>
<%= render 'posts/post', post: post, group: @group %>
<% end %>
投稿
を_post.html.erb _posts.html.erb...
<%= post.caption %>
投稿
$('#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();
}
});
グループコントローラ
def show
@group = Group.find(params[:id])
@posts = @group.posts.paginate(page: params[:page], per_page: 3).order('created_at DESC')
end
をindex.js.erb私はまた@posts = Post.paginate(page: params[:page], per_page: 3).order('created_at DESC')
を試みたが、動作するようには思えません。私の投稿のリストは、降順で並べることも、3つにグループ化することもありません。複数のモデルを使用するときにこの宝石をどのように活用するかについてのアドバイスはありますか?
驚くばかり!それがトリックでした。今私は、私が持っているindex.js.erbとscroll.jsファイルを使って連続スクロール機能を動作させることに問題があります。私はこれらの機能を動作させましたが、すべてをグループに抽象化してモデル結合を使用しています。 – user3318660
私は連続スクロールでは役に立たないと思っていますが、新しい質問を書くと、できる人がいると確信しています! –
ありがとう!私はしばらくそれに取り組んでみて、私がそれを理解できるかどうかを見てみましょう。あなたの助けをお寄せいただきありがとうございました。 – user3318660