2016-04-08 17 views
0

belli bir sorgu ile sadece çalışmıyorSayfalandırma AJAX kullanarak sayfalandırmamayı Kaminari mücevher kullanıyorum

yukarıdaki örnek değişkenleri son iki düzgün çalışması yaparken ben aynı sayfada

@all_questions = Question.where.not(id: current_user.question_ids).page(params[:unanswered]).per(1) 

    @wrong = Tracker.where("user_id = ? AND correct = ?", current_user, false).page(params[:wrong_answers]).per(1) 

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

üç paginations var . Bir sonraki düğmeye tıkladığımda, raylar konsolunda gerçekleşen ajax isteğini görürsem, sayfayı yenilemez. Bence

<%= paginate @all_questions, :remote => true, :param_name => "unanswered" %> 
<%= paginate @wrong, :remote => true, :param_name => "wrong_answers" %> 
<%= paginate @answered, :remote => true, :param_name => "all_answered" %> 

Herkes bilir neden? Kısmi

html

 <section role="tabpanel" aria-hidden="true" class="content" id="panel2-2"> 
     <div class="row"> 
      <div class="large-10 large-offset-1 columns"> 
      <div class="panel questions-progress-panel"> 
       <ul> 
       <div id="unanswered"> 
        <%= render partial: "all_questions" %> 
       </div> 
       <div id="paginator4" class="text-center paginator"> 
        <%= paginate @all_questions, :remote => true, :param_name => "unanswered" %> 
       </div> 
       </ul> 
      </div> 
      </div> 
     </div> 
     </section> 

@all_questions

<% @all_questions.each do |q| %> 
    <li> 
    <div class="wrapper"> 
     <div class="row"> 
     <div class="large-8 medium-8 small-8 columns"> 
      <p class="question-title"> <%= q.description %> </p> 
     </div> 
     <div class="large-4 medium-4 small-4 columns text-right"> 
      <%= link_to "Go", category_question_path(q.category,q), class:"button round success" %> 
     </div> 
     </div> 
    </div> 
    </li> 
<% end %> 
+0

gibi '@ all_questions' nedir? En azından soruları içeriyor mu? – born4new

+0

evet, sorguyu yürüttükten sonra iki tane içeriyor. Bunları göstererek, sayfalama kontrollerinde iki sayfa da [1,2 sonraki son] gösterir, sadece sayfalama çalışma değil. Kaminari belli bir yapıya mı benziyor? –

+0

Doğru hatırlıyorsam Kaminari, yapının "İlişkiler" türünü bekler. Konsolda, sınıfın hangi türünün yukarıdaki gibi tüm sonuçları kullandığını inceler misiniz? kodunuza 'p @ all_questions',' p @ wrong' vb. koyun ve çalıştırın, sonra ne göründüğü bir konsola bakın. Bu ilişkilerin türü – Aleks

cevap

1

Sizin gibi görünebilir js.erb tekabül:

$('#unanswered').html('<%= escape_javascript render(all_questions) %>'); 
$("#paginator4").html('<%= escape_javascript(paginate(@all_questions, :remote => true).to_s) %>');