【发布时间】:2017-07-31 04:29:11
【问题描述】:
我的任务是在不使用 gem 的情况下为 Rails 项目创建“前 10 个”、“下一个 10”、“最新”和“最旧”链接。
在控制器中,我可以在表格中显示第一组(最新的)10 个项目:
...
before_action :set_page, only: [:index]
...
def index
@rows = Row.order(created_at:).limit(10)
end
...
private
def set_page
@page = params[:page] || 0
end
...
但是,我不相信这会正确设置每个新页面 10 个,因为我无法更改页码 (hxxp://...?page=1) 以获得下一组 10 个。
我已经尝试了几页我能找到的说明,包括:
Paginate without a gem Next, Previous, buttons for Name.order(:id).limit(10).offset(0)
https://solidfoundationwebdev.com/blog/posts/next-and-previous-links-in-rails
非常感谢任何方向。至于第二个示例站点,我有两个模型类:
- ApplicationRecord
- 行
看来我应该编辑:
- 行 <:base>
但不知道在哪里可以找到/我应该如何添加它。感谢您耐心解答初学者的问题。
erb文件链接格式供参考:
<%= link_to 'Next 10', rows_path %>
【问题讨论】:
标签: ruby-on-rails activerecord pagination