私はKaminariで結果を読み込むために "More"ボタンを使って "Twitterのような"ページ設定をしようとしています。Rails 3 - Kaminariの "More" ajaxページネーション
私はこの質問here
が見つかりましたが、私はそれが動作するようにする方法を見つけ出すことはできません、それは良いアプローチだ場合。事前
私はKaminariで結果を読み込むために "More"ボタンを使って "Twitterのような"ページ設定をしようとしています。Rails 3 - Kaminariの "More" ajaxページネーション
私はこの質問here
が見つかりましたが、私はそれが動作するようにする方法を見つけ出すことはできません、それは良いアプローチだ場合。事前
で
おかげで、あなたは「もっと」ボタンを必要とするわけですか?このようなヘルパーを作るのはどうですか?
# 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でUnobtrusive Javascript screencastを見てみましょう。
偉大な、素晴らしい作品!確かにそれを宝石に含めることは有益でしょう。それは非常に魅力的でより多くの一般的なページングの種類をカバーする:)ありがとう! – invaino
こんにちは、私は自分自身で「もっと」ボタンを作成しようとしているので、これを見つけました。私はjqueryで本当に新しく、何も動かないようです。このヘルパー・メソッドがjqueryに接続して「もっと」ボタンを作る方法を説明できますか? –
ボタンの数が多いほどいいですが、前のアイテムを残し、次のアイテムは前のアイテムより下にしてください。 – Uchenna