gpt4 book ai didi

ruby-on-rails - 将 searchlogic 与 will_paginate 结合使用

转载 作者:行者123 更新时间:2023-12-02 09:00:35 25 4
gpt4 key购买 nike

编辑看起来我已经弄清楚了 - 我必须在从 Searchlogic 调用all之后调用分页。

我正在尝试使用这两个工具来使用户能够搜索联系人并返回分页列表(如果不输入任何搜索条件,则返回整个分页列表)。然而,我不确定将它们链接在一起的正确方法,并且我正在尝试给我带来错误。

这是我的 Controller :

class ContactsController < ApplicationController
def index
@search = Contact.search(params[:search]).paginate(:page => params[:page])
@contacts, @contacts_count = @search.all, @search.count
end
end

这给了我错误未定义 WillPaginate 的方法“all”。删除所有内容会给我一个错误,因为 View 正在寻找包含 20 次“contact”一词的路径(例如 contact_contact_contact..._path),大概是因为默认的“每页”为 20 .

我做错了什么?我希望在此页面上进行搜索、排序和分页。

最佳答案

我也被这个问题搞糊涂了。您想要执行以下操作:

class ContactsController < ApplicationController
def index
@search = Contact.search(params[:search])
@contacts = @search.paginate(:page => params[:page])
end
end

在您看来,只需调用 @contacts.total_entries 即可获取总计数(will_paginate 会自动添加该计数)。

一旦您调用 .paginate,它就会触发查询。因此,即使您认为将 @search 设置为 Searchlogic 对象,但事实并非如此。您将其设置为 WillPaginate 数组,该数组没有方法。您可以调用所有方法。

关于ruby-on-rails - 将 searchlogic 与 will_paginate 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1567236/

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