0

我正在使用导轨 3.2.13

我有这个哈希数组:

[{"name" => 1, "foo" => "bar"},{"second" => 2, "foo" => "bar"}]

我将它们放在一个名为 @names 的变量中,并像这样在视图中显示它们:

<% @names.each do |name| %>
   <%= name["name"] %>
   <%= name["foo"] %>
<% end %>

最大的问题是我如何对它们进行“分页”,以便有按钮 NEXT 向我显示第一个条目,然后当我按下 next 时出现第二个,依此类推。

我已经考虑过 will_paginate 但它没有意义,因为我仍然必须在视图中处理我必须在页面中显示的内容。有任何想法吗?非常感谢!

4

3 回答 3

3

will_paginate 为您处理这一切。通常它使用ActiveRecord关系,但它也可以对数组进行分页查看这个stackoverflow问题

于 2013-05-31T09:52:11.770 回答
3

您可以使用 kaminari,它允许您非常轻松地对数组对象进行分页。

请记住,对数组进行分页会更改数组的内容,因此您的视图代码不会改变。你只需要添加一个分页助手来允许在数组页面中移动:

<%= paginate @names %>
于 2013-05-31T09:52:11.983 回答
1

为此使用 jQuery。我希望这将给出一个如何使用 jQuery 的想法。

<% @names.each do |name| %>
<div id="<%= name["name"] %>" style="display: none;"> 
   <%= name["name"] %>
   <%= name["foo"] %>
   <%= link_to_function "Next" , "$(this).parent('div').hide();$(this).next().show();" %>
</div>
<% end %>

<script type="text/javascript">
 $(document).ready(function(){ 
  $("#<%= @names.first["name"] %>").show();
});
</script>
于 2013-05-31T10:02:19.380 回答