Rails link_to具有数组中下一个位置的项

时间:2015-02-11 02:50:55

标签: ruby-on-rails arrays

我正在尝试创建用于浏览数组的链接。我有三个班: fsets,line_items和样例。

在我的应用程序中,我在页面上看到用户显示图像。我希望用户能够单击下一个/上一个链接转到数组中的下一个元素。我当前可以在页面上显示所有图像,但无法找到如何创建下一个/上一个链接。在应用程序的其他地方,我使用以下内容转到数据库中的下一条记录,但无法弄清楚如何为数组实现相同的操作。

  def previous
    Exemplar.where(["id < ?", id]).last
  end

  def next
    Exemplar.where(["id > ?", id]).first
  end 

我希望如果我可以返回数组中的索引位置,我可以链接到下一个,但我无法弄清楚如何做到这一点。我开始显示元素的当前位置和上一个/下一个位置。

  next: <%= (params[:pos].gsub(/\D/, '').to_i + 1) %>
  current: <%= params[:pos].gsub(/\D/, '').to_i %>  
  previous: <%= (params[:pos].gsub(/\D/, '').to_i - 1) %>

我使用:pos传递参数中每个元素的索引位置。因此,当页面首次加载时:pos设置为0.页面底部有链接,允许用户跳转到数组中的项目。这些链接也通过索引位置。我知道有一种更简单的方法可以做到这一切,我已经走错了道路/思考所有这一切的方式。只是觉得即使完全错误也要显示我尝试过的内容会很有帮助。

1 个答案:

答案 0 :(得分:2)

这款宝石将满足您的需求。 https://github.com/mislav/will_paginate

如果你可以链接到你的github,我可以提供更多帮助。您需要将该分页逻辑提取到不是activerecord模型的某个位置。