小编Jcs*_*sjr的帖子

如何在 Rails 上对与 ruby​​ 的关系进行分页?

我正在学习 Ruby On Rails,作为学习目标,我制作了一个具有 Instagram 基本功能的 API。

我很难对关注者列表的结果进行分页。

我还想仅显示关注者而不是用户数据,因为它没有以下返回:

附:我正在使用 kaminari gem 进行分页

控制器

def followeres

    @user = User.find_by(username: params[:username])

    @user.follower_relationships
    .page(params[:page] || 1)
    .per(1)
    .order('created_at DESC')

    render json: @user, include: [:followers]
end
Run Code Online (Sandbox Code Playgroud)

模型用户.rb

has_many :follows

has_many :follower_relationships, foreign_key: :following_id, class_name: 'Follow', dependent: :destroy
has_many :followers, through: :follower_relationships, source: :follower

has_many :following_relationships, foreign_key: :user_id, class_name: 'Follow', dependent: :destroy
has_many :following, through: :following_relationships, source: :following
[...]
Run Code Online (Sandbox Code Playgroud)

用户序列化器.rb

class UserSerializer < ActiveModel::Serializer
  include Rails.application.routes.url_helpers

  attributes :username, :full_name, :profile_pic_url, :genre, :phone, :email, :bio, …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails kaminari rails-activerecord

4
推荐指数
1
解决办法
722
查看次数