gpt4 book ai didi

ruby-on-rails - 雷未定义方法 `total_pages'

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

在使用 kaminari 时,我遇到了一个错误。

gem 文件:

# gem 'will_paginate', '~> 3.0.6'
# gem 'will_paginate-bootstrap'

gem 'kaminari'

列表 Controller .rb

  def index
if params[:tag]
@lists = List.tagged_with(params[:tag]).order(created_at: :desc).paginate(page:params[:page], per_page: 3 )
else
@lists = List.all.order(created_at: :desc)
end
end

我还使用 .page params[:page].per(2) 遵循 .order(created_at: :desc)但不工作

views/lists/index.html.erb

<%= paginate @lists %>

错误在这里

undefined method `total_pages' for #<List::ActiveRecord_Relation:0x007fa2303e3fa8>
Extracted source (around line #26):
</div>
</div>
<%= paginate @lists %>
<div class="container">
<div class="row">
<div class="col-md-8">

我正在关注一个关于 kaminari 的 railscasts 视频,但他们没有任何错误。

最佳答案

您需要对这两个查询进行分页。我推荐这样的东西:

def index
if params[:tag]
@lists = List.tagged_with(params[:tag])
else
@lists = List.all
end
@lists = @lists.order(created_at: :desc).paginate(page:params[:page], per_page: 3 )
end

否则,当params[:tag] 为nil 时,@lists 将不是分页对象。

关于ruby-on-rails - 雷未定义方法 `total_pages',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070991/

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