我在Post模型中有这个“as_json”方法:
def as_json(options={})
super(options.merge(:include => { :comments => { :include => [:user] }, :hashtags => {}, :user => {}, :group => {} }))
end
我想在:comments
中设置限制属性,如下所示:
def as_json(options={})
super(options.merge(:include => { :comments => { :include => [:user], :limit => 10 }, :hashtags => {}, :user => {}, :group => {} }))
end
但它不起作用。
我该怎么办?
答案 0 :(得分:0)
我认为你只有一种可能性。
我认为您的has_many :comments
模型中有Post
个关联
因此,您可以在has_many
模型中定义下一个Post
关联,如下所示:
has_many :ten_comments, -> { limit(10) }, class_name: "Comment", foreign_key: :post_id
然后您可以使用as_json
方法执行此操作:
def as_json(options={})
super(options.merge(:include => { :ten_comments => { :include => [:user] }, :hashtags => {}, :user => {}, :group => {} }))
end
很抱歉四年后发帖,但我希望有人认为你的问题和答案很有用。