[英]Ruby on Rails using active_admin and ransack, paging error on a active_admin:resource
The error: Collection is not a paginated scope. 错误:集合不是分页作用域。 Set collection.page(params[:page]).per(10) before calling :paginated_collection. 在调用:paginated_collection之前,设置collection.page(params [:page])。per(10)。
unless collection.respond_to?(:num_pages)
raise(StandardError, "Collection is not a paginated scope. Set collection.page(params[:page]).per(10) before calling :paginated_collection.")
end
@contents = div(class: "paginated_collection_contents")
application_controller: application_controller:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
helper_method :all_categories
helper_method :all_posts
before_filter :site_search
def all_categories
@categories = Category.all
end
def all_posts
@all_posts = Post.all
end
def site_search
@q = Post.ransack(params[:q])
#@posts_search = @q.result(distinct: true)
@search_posts = @q.result(distinct: true)
end
end
ActiveAdmin resource: post ActiveAdmin资源:发布
ActiveAdmin.register Post do
permit_params :title, :body, :category_id, :admin_user_id
menu :label => "Blog Posts"
index do
column :title
column "Author",:admin_user
column :category
column :created_at
default_actions
end
end
index method of posts controller: 帖子控制器的索引方法:
def index
#@content_first = Post.find(1).title
#@content_second = "This is 2";
@q = Post.ransack(params[:q])
@posts = @q.result(distinct: true)
#@posts = Post.all
end
end
Figured it out. 弄清楚了。 I didn't alter models utterly. 我没有完全改变模型。 For those who have similar problems: 1. Try to rename your variables 2. Check your models 对于那些有类似问题的人:1.尝试重命名变量2.检查模型
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.