我正在构建一个商店,在那里我必须向用户显示给定类别中的所有产品,以及当前访问的产品的后续子类别中包含的所有其他产品。这些类别存在N+1问题,因为可以有无限的子类别。我希望能够过滤这些产品,也能够对它们进行分页。这是我的类别模型: class CatalogCategory extends Model
{
public function parent()
{
return $this->belongsTo('App/CatalogCategory','parent_id');
}
public
我刚刚开始在Rails4应用程序中使用Pundit gem进行授权。
一切都很顺利,但我可以理解分页在索引操作中的工作方式。
我的控制器的索引操作如下所示:
def index
@records = policy_scope(Record)
end
然后,我的RecordPolicy中的Scope类是:
class Scope < Struct.new(:user, :scope)
def resolve
if user.has_role? :admin
# get all records
else
# get us
我正在创建一个搜索页,它将对用户、帖子和评论进行应用程序范围的搜索。我目前有:
# POST /search
def index
query = params[:query]
@users = User.search(query).page(params[:page])
@posts = Post.search(query).page(params[:page])
@comments = Comment.search(query).page(params[:page])
respond_to do |format|
format.html
end
end
然而