Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 单击按钮时的Rails加载值_Ruby On Rails - Fatal编程技术网

Ruby on rails 单击按钮时的Rails加载值

Ruby on rails 单击按钮时的Rails加载值,ruby-on-rails,Ruby On Rails,在我的控制器中,我有: def index @quizzes = Quiz.where(:id => n..n+4) end 在我看来,我想一次加载5个对象,如果用户单击“下一步”按钮,接下来的5个对象应该像分页一样显示。我不想使用任何分页gem,因为我想在用户单击“下一步”按钮时添加更多功能。 我想在每次单击“下一步”时将n的值增加5。 请解释一下 提前谢谢你的帮助 编辑: 我试过这个 def next @start = params[:start].

在我的控制器中,我有:

def index 

   @quizzes = Quiz.where(:id => n..n+4)

end
在我看来,我想一次加载5个对象,如果用户单击“下一步”按钮,接下来的5个对象应该像分页一样显示。我不想使用任何分页gem,因为我想在用户单击“下一步”按钮时添加更多功能。 我想在每次单击“下一步”时将n的值增加5。 请解释一下

提前谢谢你的帮助

编辑:

我试过这个

 def next     
     @start = params[:start].to_i||0
     redirect_to Quiz
     return @start     
   end


  def index     
  @start = next
   @quizzes = Quiz.where(:id => @start..@start+4)
     #  @quizzes = Quiz.all
  end
鉴于

<%= link_to 'next', next_path(start: @start+5) %>

我猜是这样的:

<%= link_to 'next', quizzes_path(start: @start+5), method: :get %>
或者,如果要使用
按钮_
,则需要添加一个隐藏字段:

<%= form_tag quizzes_path do%>
<%= hidden_field_tag 'start', @start %>
<%= submit_tag 'next' %>
<% end %>


它不起作用,在按钮上单击它的给定链接,没有参数。使用链接,它对我有效。对于button_,可能有一个稍微不同的语法。尝试用链接替换按钮到。它会工作吗?是的,它工作很好,谢谢。你能告诉我如何使用另一种方法吗?你说的“另一种方法”是什么意思<代码>按钮_至?我已经编辑了我的答案,将
按钮添加到
解决方案为什么要使用下一个路径?在你的路线中有定义吗?为什么不改为使用索引操作?@Floegipoky I am editingerror:/home/aditya/GREibt/app/controllers/quizzes\u controller.rb:24:void@start=nextw的值表达式通过
重定向到quick
您想实现什么<代码>返回@start
将永远不会发生,因为redirrect@IvanSelivanov它不工作,即使没有重定向我找到了解决办法,问题是下一个是保留关键字。如果我改变下一个的名字,它就会工作。
<%= form_tag quizzes_path do%>
<%= hidden_field_tag 'start', @start %>
<%= submit_tag 'next' %>
<% end %>