我正在使用rails 3.2.13
我有这个哈希数组:
[{"name" => 1, "foo" => "bar"},{"second" => 2, "foo" => "bar"}]
我将它们放在一个名为@names的变量中,并在视图中显示它们:
<% @names.each do |name| %>
<%= name["name"] %>
<%= name["foo"] %>
<% end %>
最大的问题是我如何以这样的方式对它们进行“分页”,即按下NEXT按钮显示第一个条目,然后当我按下一个按下第二个条目时依此类推。
我考虑过will_paginate,但它没有意义,因为我仍然需要在视图中处理我必须在页面中显示的内容。有任何想法吗?非常感谢!
答案 0 :(得分:3)
will_paginate会为您处理这一切。通常它使用ActiveRecord
关系,但它也可以对数组进行分页,看看stackoverflow question
答案 1 :(得分:3)
你可以使用kaminari,它可以很容易地paginate an array object。
请注意,对数组进行分页将更改数组的内容,以便您的视图代码不会更改。您只需添加一个分页助手,以允许在数组页面中移动:
<%= paginate @names %>
答案 2 :(得分: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>