Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails kaminari未定义方法`总页数';_Ruby On Rails_Ruby_Kaminari - Fatal编程技术网

Ruby on rails kaminari未定义方法`总页数';

Ruby on rails kaminari未定义方法`总页数';,ruby-on-rails,ruby,kaminari,Ruby On Rails,Ruby,Kaminari,在使用kaminari时,我犯了一个错误 档案: # gem 'will_paginate', '~> 3.0.6' # gem 'will_paginate-bootstrap' gem 'kaminari' 列出\u controller.rb def index if params[:tag] @lists = List.tagged_with(params[:tag]).order(created_at: :desc).paginate(page:par

在使用kaminari时,我犯了一个错误

档案:

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

gem 'kaminari'
列出\u 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参数[:page].per(2)
遵循
.order(在::desc创建)
但不起作用

视图/列表/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">
未定义的方法“总页数”#
提取的源(第26行附近):
我正在观看railscasts关于kaminari的视频,但他们没有任何错误。

尝试使用以下内容进行分页:

 List.tagged_with(params[:tag]).order(created_at: :desc).page(params[:page]).per(3)

您需要对这两个查询进行分页。我建议如下:

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

否则,当
参数[:tag]
为nil时,
@lists
将不会成为分页对象。

我遇到了类似的问题,这是因为commontator gem从will_paginate引入了方法并重写了基本ActiveRecord类

错误出现在page_entries_info方法的调用堆栈中,这似乎是两个库之间的通用方法名

要修复此问题,可以使用以下方法显式引用此方法:

因此,视图代码:

      <%= Kaminari::Helpers::HelperMethods.page_entries_info @events %>
      <%= link_to "Next", path_to_next_page(@events) %>
      <%= link_to "Prev", path_to_prev_page(@events) %>
这是一个非常棘手的解决方案,但希望能有所帮助。

试试:

order(:nome).page page

为我工作

非常感谢!很有效,非常感谢。添加@list。user.page(params[:page]).per(5)``@lists=@lists.order(created_at::desc).page(params[:page]).per(5)``页面确定。@user5590209如果我已经解决了你的问题,请点击旁边的复选标记接受我的答案。谢谢提醒,我是新来的。现在可以了吗?选择你的答案是最好的和小鸡nike标志。适合我。谢谢
order(:nome).page page