0

Когда у меня есть отношение has_many/belongs_to в Rails 5 API с active_model_serializers, я могу передать вариант включения вложенной модели.Rails active_model_serializer условно включает

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

В мастер (который скоро станет RC4), пиар были объединены, что позволяет следующее на уровне сериализатора:

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