2016-08-10 9 views
1

私はRailsアプリケーションを持っていて、Kaminariというページネーションを追加しようとしています。Rails:Kaminariの宝石を使ったAJAXページ分割

私はこのようなコントローラアクションを持っています。

def index 
    .. 
    @hotels = Kaminari.paginate_array(@hotels).page(params[:page]).per(5) 
    .. 
end 

マイindex.html.haml

... 
    .homestay-rightside.hotel-rightside 
     = render :partial => 'hotel_rightside', :locals => {:hotels => @hotels} 
    ... 

マイhotel_rightside部分

- if hotels.present? 
    #hotels_listing 
     = render :partial => 'hotel_details', :locals => {:hotels => @hotels} 
    #hotels_pagination 
     = paginate @hotels, :remote => true 

マイindex.js.erb

$('#hotels_listing').html('<%= escape_javascript(render :partial => "hotel_details", :locals => {:hotels => @hotels }) %>'); 
    $('#hotels_pagination').html("<%= escape_javascript(paginate(@hotels, :remote => true)) %>"); 

は、今のところは、HTML要求を行います私はリモートを追加したにもかかわらず真実。

どうすればAjaxリクエストにすることができますか?

+0

これはあなたを助けることを願って:http://nhattan.github.io/rails/pagination/2015/06/26/remote-pagination-with-kaminari.html – Nathan

+0

Insideは、 '部分hotel_rightside'、あなた'hotel_details'部分的な権利がありますか?しかしなぜあなたは 'index_js.erb'に' hotel_details'だけをここでリフレッシュしていますか? –

+0

私はjsを更新しました。 '%('#hotels_listing ')。html(' <%=エスケープ_Javascript(レンダリング:partial => "hotel_details"、:locals => {:hotels => @hotels})% erbでhaml構文を誤って使用していたように.erb .erb。 その後も動作しませんでした。 – RamanSM

答えて

1

私はあなたのプロジェクトでカスタムkaminariビューを使用していると思いますので、あなたの意見を見て、:remote => remoteが存在するかしないかを調べて、ヘルパーオプションに追加してください。

= link_to_unless page.current?, page, url, {:rel => page.next? ? 'next' : page.prev? ? 'prev' : nil , :class => "page-link", :remote => remote} 
+0

私はこれを試してみましょう – RamanSM

+0

Yess。出来た !どうもありがとう !! – RamanSM

+0

まだ動作していません! – RamanSM

関連する問題