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 %>