2017-11-12 9 views
0

私は、各ページのRHSにユーザのアクティビティを表示するレールアプリを持っています。一般的なアプリケーションコントローラの動作

は、現在私が直接、部分的にコレクションを渡す:

<%= render partial: "activities/activity", collection: current_user.activities.order(created_at: :desc) %> 

私は今、この活動のリストをページ分割したいです。

current_user.activities.order(created_at: :desc).page(params[:page]).per_page(10) 

私はこの変数をインスタンス変数として設定し、ビューからアクセス可能なルートに配置する必要があると推測しています。

私の質問は、アクティビティがビューに表示されるときにルートが汎用である必要があるため、このインスタンス変数をどこで定義する必要があるのですか。

私が助けるなら、私はajaxでページ番号を付けています。 "remote:true"。

+0

ajaxのURLは何ですか? – emaillenin

+0

現在実装しようとしているURLはありません。ただし、アクティビティのページ区切りはajaxを介して行われるため、完全に更新する必要はありません。 – Dercni

答えて

0

あなたがする必要があるのは、ページ番号を含むajaxリクエストを受け取るコントローラアクションを持つことだと思います。このアクションは、そのページの関連するアクティビティをプルアップします(質問内に記述したコードを使用して)、アクティビティパネルをクリアして新しいアクションページを再作成するjをレンダリングします。リンクが新しいページ番号で更新されるように、改ページコントロールを再描画する必要もあります。

ページネーション用の宝石を使用している場合は、おそらくページネーションコントロールを生成するための呼び出しメソッドがあります。これらのコントロールは、前述のコントローラアクションのルートにリンクし、関連するページ番号をパラメータ。

関連する問題