Jos*_*yer 4 ruby-on-rails will-paginate
我最近在我的开发博客上安装了will_paginate gem,但我遇到了麻烦.我把它添加到我的gemfile中:
gem 'will_paginate'
Run Code Online (Sandbox Code Playgroud)
然后将它送入帖子控制器:
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
Run Code Online (Sandbox Code Playgroud)
最后进入视图:
<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: <%= post.created_at.to_formatted_s(:long) %></li>
<li>Author: <%= post.author_name %></li>
<li>Comments: <%= post.comments.count %></li>
</div>
<br />
<br />
<%= will_paginate @posts %>
Run Code Online (Sandbox Code Playgroud)
索引页面工作正常.它目前没有分页,因为我没有在开发环境中创建足够的帖子(将通过管理面板创建它们,遇到这个).它也可以在Admin面板上正常工作(使用active_admin).只有当我点击管理面板上的"帖子"(或任何其他链接)来发布新帖子时,我才会收到以下错误:
NoMethodError in Admin::PostsController#index
undefined method `per' for # <ActiveRecord::Relation::ActiveRecord_Relation_Post:0x5b37d30>
Run Code Online (Sandbox Code Playgroud)
我不确定如何继续,并感谢任何帮助.很抱歉这个简单的问题.
Hel*_*rra 18
看起来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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3499 次 |
| 最近记录: |