2017-02-11 1 views
0

지금 당장 모든 질문을 한 페이지 퀴즈로 만듭니다. 내가하고 싶은 일은 사용자가 사이트를 변경하지 않고 각 질문을 다음/이전에 순환하도록하고 (오류 URL은 변경되지 않음) 모든 질문을 반복 한 후 사용자가 양식을 제출하고 결과를 볼 수있게합니다. 페이지 넘김의 보석이 아닙니다.페이지가 매겨진 질문을 사용하는 퀴즈

레일에서만 그렇게 할 수있는 방법이 있습니까?

답변

0

이것은 매우 간단하며 끝이없는 스크롤을 레일에서 검색하면 무한한 예가됩니다. 나는 당신을위한 전체 코드를 작성하지 않을거야하지만 당신이 시작하는 데 :

Controller 

@quiz = Quiz.find_by(params[:id]) 
@questions = @quiz.questions.order('created_at desc').paginate(page: params[:page], per_page: 10) 
    respond_to do |format| 
    format.js 
    end 
end 

view 

@questions.each do |question| 
    question.content 
end 

will_paginate @questions 

<div id="more_questions_btn" style="display: none"> 
    More 
</div> 

jquery 

if ($('#more_questions).size > 0) { 
    $('.pagination').hide() 
    $('#more_questions_btn).show() 
} 
var url= $('.pagination .next_page a').attr('href') 
('#more_questions_btn').on('click', function() { 
$.getscript(url) 
}  

을 그리고 당신은 질문의 다음 페이지를 추가하거나 질문의 ​​현재 설정을 대체 할 js.erb 파일을 사용해야합니다.

관련 문제