簡體   English   中英

如何使kaminari在多個ajax分頁中工作

[英]How to make kaminari work across multiple ajax paginations

我的show.js.erb代碼

<% if @status = "answered"%>
  $('#all_answered').html('<%= escape_javascript render(partial: "trackers/all_answered") %>');
  $('#paginator').html('<%= escape_javascript(paginate(@answered, :remote => true,:param_name => "all_answered").to_s) %>');
<% else %>
  $('#all_questions').html('<%= escape_javascript render(partial: "trackers/all_questions") %>');
  $('#paginator').html('<%= escape_javascript(paginate(@all_questions, :remote => true,:param_name => "all_questions").to_s) %>');
<% end %>

視圖

<div id="paginator">
   <%= paginate @answered, :remote => true, :param_name => "all_answered" %>
 </div>
 <div id="all_answered">
   <%= render partial: "all_answered" %>
 </div>

調節器

@answered = Tracker.where("user_id = ? AND answered = ?", current_user, true).page(params[:all_answered]).per(1)
if(params[:all_answered])
      @status = "answered"
    end

在我看來,我對同一頁的另一部分也有類似的分頁。 問題是,當我單擊一個時,另一個也會被觸發,並且它們混雜在一起。 我如何分開它們?

當您說他們“同樣被觸發...並變得混亂”時,您是什么意思?

要在一頁中包含多個分頁,請唯一命名param_name:似乎您已經從show.js.erb完成了。 即。 :all_answered和:all_questions。

在您的show.js.erb中,您的條件是否應該更改?

<% if @status = "answered"%> to <% if @status == "answered"%>

最后,如果這不會影響其他代碼,請考慮直接測試params參數,而不是在控制器中設置實例變量。 即。

<% unless params[:all_answered].blank? %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM