2017-02-11 3 views
0

今、私はすべての質問が1つずつある1ページのクイズを持っています。 私がやってみたいのは、サイトを変更せずに各質問を次回に/前に循環させ(すべての質問を繰り返して)、ユーザーがフォームを送信して結果を確認できるようにすることです。 ページネイトの宝石はそれほどではありません。ページが区切られた質問のクイズ

レールでのみ行う方法はありますか?

答えて

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ファイルを使用する必要があります。

関連する問題