Rails active_model_serializer条件包括

时间:2016-01-19 00:48:12

标签: ruby-on-rails active-model-serializers ruby-on-rails-5

当我在带有active_model_serializers的Rails 5 API中有has_many / belongs_to关系时,我可以传递选项以包含嵌套模型。

def show
    render json: @post, include: ['comments']
end

也可以获得多层嵌套。

def show
    render json: @post, include: ['comments', 'comments.comment_likes']
end

我无法在任何地方找到有关向include语句添加条件的文档。有可能做这样的事吗?

def show
    render json: @post, include: ['comments'] { top_contributor: true } 
end

1 个答案:

答案 0 :(得分:1)

在master(很快将成为RC4)中,PR已合并,允许在序列化程序级别执行以下操作:

belongs_to :user, if: :include_user?
def include_user?
  current_user.admin?
end