3

テーブルベースのActiveRecordオブジェクトを装って作成したカスタムモデルを使用しています。代わりに、SQLビューに支えられています。舞台裏にはいくつかのトリックがあります。

問題は、カミナリとのページ付けリンクが正しく機能していないことです。彼らは正しいページ番号と間違ったルートへのページリンクの数を表示しています。

カミナリソースのどこに、ページ付けするように設定されているオブジェクトへのルートを把握するかを知る必要があります。または、誰かがそれを計算するために使用されるアクティブレコードメソッド名に精通している場合。

私はソースコードを検索してきましたが、理解できません。

更新
私の実際の問題は私のルートファイルが原因でした。私はこのエントリを持っていました-

match 'dashboard' => 'users#start', :as => 'user_root'

/ users / start?page = xを参照するリンクの代わりに、/ users / dashboard?page=xを参照しました。私はまだ同じコントローラーアクションを使用していましたが、/ users / startからのページネーションリンクが必要なページを表示したので、この一致ルールではなく、それを使用すると思います。一致ルールを削除して、すべて設定しました。

4

1 に答える 1

4

上記のコメントは、オプション ハッシュのキーをKaminari::ActionViewExtension#paginate受け入れると述べている:paramsため、それを使用して URL パラメーターをオーバーライドできます。

paginate @bloops, params: {controller: "foos", action: "index"}

デフォルトでは、通常のケースである「現在の」ページのページネーションを想定しています。

からKaminari::Helpers::Tag#initialize:

@params = @options[:params] ? template.params.merge(@options.delete :params) : template.params
于 2012-07-27T13:18:16.400 に答える