活动模型序列化程序 0.9.4 堆栈太深错误

Active model serializer 0.9.4 stack too deep error

嗨,我的应用程序中的序列化器看起来像这样

class ProgressSerializer < ActiveModel::Serializer
  attributes :id
  has_one :race
end

class RaceSerializer < ActiveModel::Serializer

  attributes :id
  has_many :progresses 
end

has_one 和 has_many 一起给我错误堆栈级别太深。 我尝试过的东西。

config/initializers/active_model_intializer.rb

ActiveModel::Serializer.setup do |config|
  config.embed = :ids
  config.include = true
end

我尝试的第二件事

class RaceSerializer < ActiveModel::Serializer

  attributes :id
  has_many :progresses , :serializer => ProgressSerializer
end

class ProgressSerializer < ActiveModel::Serializer
  attributes :id
  has_one :race , :serializer => RaceSerializer
end

型号

class Progress < ActiveRecord::Base
    belongs_to  :race
end

class Race < ActiveRecord::Base
    has_many :progresses
end

你能分享你的 Model.rb 文件吗?

如果 Progress 是主要的,那么下面的 Races 应该有效。

class ProgressSerializer < ActiveModel::Serializer
  attributes :id, :races
  has_many :races
end

class RaceSerializer < ActiveModel::Serializer
  attributes :id
end

然后尝试删除 has_many :progresses 并添加 has_one :race 到 Race with attributes :id, :race