カミナリで結果をロードするために、「詳細」ボタンで「Twitterのような」ページネーションを実行しようとしています。
私はここでこの質問を見つけました
しかし、それを機能させる方法と、それが良いアプローチであるかどうかはわかりません。
前もって感謝します
カミナリで結果をロードするために、「詳細」ボタンで「Twitterのような」ページネーションを実行しようとしています。
私はここでこの質問を見つけました
しかし、それを機能させる方法と、それが良いアプローチであるかどうかはわかりません。
前もって感謝します
「もっと」ボタンが必要ということですか?このようなヘルパーを作成してみませんか?
# usage:
# link_to_next_page(@items)
# link_to_next_page(@items, :remote => true) # Ajax
def link_to_next_page(scope, name, options = {}, &block)
param_name = options.delete(:param_name) || Kaminari.config.param_name
link_to_unless scope.last_page?, name, {param_name => (scope.current_page + 1)}, options.merge(:rel => 'next') do
block.call if block
end
end
この種のヘルパーメソッドが役立つと思われる場合は、このメソッドを宝石に含める準備ができています。ご意見をお聞かせください。ありがとう!
link_to_next_page(@items, :remote => true)
箱から出して正しく機能しないことに注意してください。Ajaxリクエストの後で現在のページを判別する方法がないため、新しいアイテムがフェッチされた後にリンクを置き換える必要があります。控えめなJavaScriptを使用すると、次のようになります。
# app/views/items/index.js.erb
$(".items").append("<%= escape_javascript(render(@items)) %>");
$(".more_link").replaceWith("<%= escape_javascript(
link_to_next_page @items, 'View more',
:remote => true,
:id => :view_more) %>");
これが意味をなさない場合は、Railscastsの控えめなJavascriptスクリーンキャストをご覧ください。