1

無限のページスクロールをアクティビティコントローラーで動作させようとしていますが、アイテムの最初のページを追加するだけです。代わりに次のページをロードする方法がわかりません。

アクティビティコントローラー

class ActivitiesController < ApplicationController

  def index
    params[:page] ||= 1
    @activities = Activity.for_member(current_member, params)
  end

end

活動モデル

class Activity < ActiveRecord::Base
  belongs_to :member
  belongs_to :targetable, polymorphic: true

  self.per_page = 4

  def self.for_member(member, options={})
    options[:page] ||= 1
    following_ids = member.following_members.map(&:id).push(member.id)
    where("member_id in (?)", following_ids).
        order("created_at desc").
        page(options[:page])
  end 
end

エンドレスページjQuery

$(window).scroll(function(){
        if ($(window).scrollTop() > $(document).height() - $(window).height() - 100){
            $('.pagination').text("Loading more...");
            $.getScript($('.pagination .next_page').attr('href'));
        }
    });

index.js.erb

$('#act_index').append('<%= j render ("activities/activities") %>');
$('.pagination').replaceWith('<%= j will_paginate(@activities) %>');

活動の一部

<% @activities.each do |activity| %>

    <%= render partial: "activities/#{activity.targetable_type.underscore}/#{activity.action}",
    locals: { activity: activity } %>

<% end %> 
4

1 に答える 1