将索引参数划分为多个页面

时间:2016-07-25 14:55:20

标签: ruby-on-rails ruby

我有一个我在索引页面上显示的记录列表。 (它们以表格形式显示)。因为有很多,我试图将它们分成每页约30条记录。我创建了一个搜索参数功能,其下方显示了索引。

我遇到的问题是我无法在列表中显示多个页面。截至目前,我有大约150条记录。但是我只列出了一个页面,其中只有30条记录,我无法对它们进行排序。有人会知道我可能缺少什么吗?

以下是我的代码中要解决此问题的段。

  def search_params
    default_index_params.merge(params.fetch(:record_collection, {})).with_indifferent_access
  end

  def default_index_params
    {
      per: 30,
      page: 1,
      sort_by: "created_at",
      sort_direction: "desc",
      customer_id: 0 
    }
  end

在我看来,我确实有一些咖啡脚本在桌子上起作用。我不知道这是否是我问题的根源,但我也在这里。

:coffeescript
  $('#record_table').dataTable
    aaSorting: [[1, 'asc']]
    bPaginate: false
    bFilter: false,
    aoColumns:[null, null, null, null, null, { bSortable: false }, null, { bSortable: false }]

我的记录集用于定义参数,我不认为它对这个问题有用。 (但如果需要,肯定可以发布)

感谢任何能够帮助弄清楚这是怎么回事的人。

1 个答案:

答案 0 :(得分:1)

你需要在coffescript中传递paging:true和pageLength:30,然后从default_index_params方法中删除page:1,per:30。所以你的coffeescript看起来像这样:

:coffeescript
      $('#record_table').dataTable
        aaSorting: [[1, 'asc']]
        paging: true
        pageLength: 30
        bFilter: false,
        aoColumns:[null, null, null, null, null, { bSortable: false }, null, { bSortable: false }]

你的default_index_params将如下所示:

def default_index_params
    {
      sort_by: "created_at",
      sort_direction: "desc",
      customer_id: 0 
    }
  end