我的应用程序中的serailizer看起来像这样
class ProgressSerializer < ActiveModel::Serializer
attributes :id
has_one :race
end
class RaceSerializer < ActiveModel::Serializer
attributes :id
has_many :progresses
end
has_one和has_many一起给我错误堆栈级别太深。 我试过的事情。
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
答案 0 :(得分:0)
您可以分享Model.rb
个文件吗?
如果进度是主要的,那么种族下面,这个应该有效。
class ProgressSerializer < ActiveModel::Serializer
attributes :id, :races
has_many :races
end
class RaceSerializer < ActiveModel::Serializer
attributes :id
end
然后尝试删除has_many:progress并添加has_one:race to race with attributes:id,:race