gpt4 book ai didi

ruby-on-rails - 访问当前页面上的集合对象w will_paginate

转载 作者:数据小太阳 更新时间:2023-10-29 07:40:11 26 4
gpt4 key购买 nike

技术规范:ruby 2.1.5p273,Rails 4.2.3。

我正在使用 will_paginate gem 在页面上对我的模型进行分页。是否可以访问当前页面上正在打印的模型实例?

在项目 Controller 中:

@paginate_projects = @projects.keys.paginate(:page => params[:page], :per_page => 7)

使用 Pry,我可以获得:

$ @paginate_projects.current_page => 2

我希望能够做这样的事情:

$ @paginate_projects.current_page.projects => [Project #8, Project #9, Project #10, Project #11, Project #12, Project #13, Project #14]

在此先感谢您的帮助。我确实看过这个: http://www.rubydoc.info/github/mislav/will_paginate/WillPaginate/Collection

最佳答案

而不是在 @projects.keys 上分页(我不确定这会返回什么),我建议在 @projects (或者可能是 Project) 直接。

当您在模型或 ActiveRecord 集合或范围上调用 #paginate 时,它仅返回该页面的记录。

假设,在您的 Controller 中,您执行以下操作:

@projects = Project.some_scope_or_query
@paginate_projects = @projects.paginate(page: params[:page], per_page: 7)

在您的 View /模板中,@paginate_projects 变量将仅包含当前页面的项目值(value)。

就个人而言,我建议直接在模型上分页,除非 Controller 中有特别复杂的逻辑。像这样的东西:

@projects = Project.some_scope_or_query
.paginate(page: params[:page],
per_page: 7)

在您看来,您将使用@projects 作为您的记录集合。

关于ruby-on-rails - 访问当前页面上的集合对象w will_paginate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32748226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com