Twitter風と言っているのはMoreなリンクがある(かまたはオートページャライズ)でどんどん次のページの要素がたされていくようなページネーション。
Kaminariでの実現方法なのだけどStackOverFlowに同じような質問をしている人がいて、それにKaminariの作者の松田さんが
やり方を答えているものがみつかったのでそれを使って簡単にできた。
ありがとうございます
前回ページネーションの実装まではできているのでそれに付け足して行く感じ。ページャの部分を追記していく。
helper
# 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
view
paginateのところを下記に置き換える
<%= link_to_next_page(@hoges, 'more', remote: true, id: 'view_more') %>
このままだとページャの部分が更新されないので他の方が回答してくれているjsの部分を追記する。
js.erb
$("#view_more").replaceWith("<%= escape_javascript( link_to_next_page(@hoges, 'more', remote: true, id: 'view_more') ) %>");