在我更改查询以获取关注者/ follow_users之后,will_paginate gem无法正常工作
我如何使用will_paginate?
@users = @user.reverse_relationships.order("created_at DESC").collect { |r| User.find(r.follower) }
我尝试了几个选项:
@users = @user.reverse_relationships.order("created_at DESC").collect { |r| User.find(r.follower) }
@users = @users.paginate(:page => params[:page])
@users = @user.reverse_relationships.paginate(:page => params[:page]).order("created_at DESC").collect { |r| User.find(r.follower) }
每次收到undefined method "total_pages"
或undefined method "paginate"
答案 0 :(得分:0)
您应该重新排序查询,以便可以调用ActiveRecord :: Relation实例上的paginate
和total_pages
,这与will_paginate一样。
这将删除有效将您的关系转换为数组的collect
。
这可以通过以下方式完成:
@relationships = @user.reverse_relationships.includes(:follower).order("created_at DESC")
然后只需访问您视图中的每个关系的关注者或其他什么。
这也会更有效率 - 您不会像原始代码那样为每个关注者发出单独的查询。