不显示Kaminari分页号

时间:2019-05-03 07:42:51

标签: kaminari

我的问题是,如果我将分页设置为大于1,则使用kaminari的分页将不起作用。仅当我每页设置1条记录时,才会显示分页栏。 如果我设置了

{
"events": [
    {
        "eventId": 41,
        "eventName": "Movie",
        "userList": [
            {
                "userId": 40,
                "userName:"xyz",
                "fullName":""   
                "isAdmin":True
            },
            {
                "userId": 50,
                "userName":"abc",
                "fullName":"",
                "isAdmin":False
            }
           ]
          }
         ]
        }

我可以看到分页栏(但是只有两页要浏览,每页只有一条记录。)

如果我设置了

@p.result.page(params[:page]).per(1)

该栏不可见,但我可以在表中看到2条记录(或更多)。

嗯:我发现问题出在我的患者模型范围之内。 如果我不使用“ basic_info”,它将起作用。

@p.result.page(params[:page]).per(2) (or more)

为什么..?

在Patient.rb模型中,我有:

@p = Patient.basic_info.ransack(params[:q]) (No pagination bar)
@p = Patient.ransack(params[:q]) (it works)

在Patient_controller.rb中:

scope :basic_info, -> { 
    self.left_joins(hospitalizations: :surgery)
    .distinct
    .select("patients.id,first_name, 
    last_name, 
    gender,  
    MAX(surgeries.surgery_date) as most_recent_surgery")
    .group("patients.id, first_name, last_name, gender")
}

患者的index.html.erb:

@p = Patient.basic_info.ransack(params[:q])
@patients = @p.result.page(params[:page]).per(2)

生成的记录是有限的(我在数据表视图中只能看到两行),没有错误,但不显示分页。

我正在使用Rails 5.02

如何解决此问题?

谢谢

1 个答案:

答案 0 :(得分:0)

我找到了解决方法here

更改“ basic_info”范围内的group by子句可以解决此问题:

来自

.group("patients.id, first_name, last_name, gender")

收件人

group(:id,:first_name,:last_name,:gender)