gpt4 book ai didi

ruby-on-rails - will_paginate 未定义的方法 'per'

转载 作者:行者123 更新时间:2023-12-03 18:17:50 24 4
gpt4 key购买 nike

我最近在我的开发博客中安装了 will_paginate gem,但遇到了问题。我将它添加到我的 gemfile 中:

gem 'will_paginate'

然后将其送入 post Controller :
def index
@posts = Post.paginate(:per_page => 5, :page => params[:page], :order => 'created_at DESC')

respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
format.atom
end
end

最后进入 View :
 <div id="post" style="background-color: gray; border-radius: 20px; border-bottom: solid    black 2px; padding-bottom: 40px; padding-top: 40px; margin: auto;">
<%= post.content.html_safe %>
</div>
<br />
<div style="padding-bottom: 40px; background-color: brown;">
<li>Posted:&nbsp;&nbsp;<%= post.created_at.to_formatted_s(:long) %></li>
<li>Author:&nbsp;&nbsp;<%= post.author_name %></li>
<li>Comments:&nbsp;&nbsp;<%= post.comments.count %></li>
</div>
<br />
<br />

<%= will_paginate @posts %>

索引页工作正常。它目前没有分页,因为我没有在开发环境中创建足够的帖子(打算通过管理面板创建它们,遇到了这个)。它在管理面板上也能正常工作(使用 active_admin)。只有当我点击管理面板上的“帖子”(或任何其他链接)来创建一个新帖子时,我才会收到以下错误:
NoMethodError in Admin::PostsController#index
undefined method `per' for # <ActiveRecord::Relation::ActiveRecord_Relation_Post:0x5b37d30>

我不确定如何继续,并感谢任何帮助。对不起,这个简单的问题。

最佳答案

看起来 ActiveAdmin 使用 Kaminari 进行分页,这与 will_paginate 冲突。

请参阅此处的解决方法:https://github.com/gregbell/active_admin/blob/47aa68d33da02c2c05cf1769402aac3df0ad02c7/docs/0-installation.md

# config/initializers/kaminari.rb
Kaminari.configure do |config|
config.page_method_name = :per_page_kaminari
end

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

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