ActiveModel Serializer: как не отображать ассоциацию? - PullRequest
0 голосов
/ 29 октября 2018

Мне трудно предотвратить рендеринг ассоциаций моим сериализатором.

Допустим, у меня есть этот сериализатор:

class PostSerializer  < ActiveModel::Serializer

  attributes :uid, :title

  has_many :comments do |serializer|
    self.object.comments.active.map do |c|
      {
        uid: c.uid,
        author: c.author,
        text: c.text
      }
    end
  end

end

И действие в моем контроллере, которое выглядит так:

def show
  render json: @post, fields: [:uid, :title], serializer: PostSerializer
end

Теперь комментарии по-прежнему отображаются, хотя я явно не включил их в параметр fields.

Как я могу предотвратить их рендеринг?

...