使用分页问题进行测验

时间:2017-02-11 21:28:33

标签: javascript jquery ruby-on-rails

现在我有一页测验,所有问题都在另一个下面。 我想要做的是让用户在不改变网站的情况下循环下一个/上一个问题(ergo url不会改变),在循环完所有问题之后,让用户提交表单并查看结果。 paginate gem并不是它。

有没有办法只在rails中执行此操作?

1 个答案:

答案 0 :(得分:0)

这很简单,在rails中搜索无尽的滚动,你会有无数的例子。我不打算为你编写整个代码,但是为了让你开始:

 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文件附加下一页问题或替换当前的问题集。