我正在学习 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)