所以我有
render json: Post.all
这将返回我的所有帖子和我的Post序列化程序
class PostSerializer < ActiveModel::Serializer
has_many :comments
end
我希望JSON中返回的注释数量限制为5,并且有一个变量,用于指示是否有更多注释。这可能吗?
编辑:我想我会用新电话管理更多部分。但无法弄清楚如何限制序列化器中的注释
答案 0 :(得分:4)
在你的评论模型中写一个范围方法来限制评论的数量。
在models / comment.rb
中scope :limited_comments, lambda { limit(5) }
在PostSerializer中
has_many :comments
def comments
Comment.limited_comments
end
答案 1 :(得分:4)
has_many :comments do
@object.comments.limit(5)
end
答案 2 :(得分:0)
我担心没有任何方法可以限制序列化程序中返回的记录数量。但是,您可以使用以下行限制控制器中的记录。
# This code returns last 5 posts
posts = Post.last(5)
render json: posts
您是否考虑过在这里实施某种分页功能?