这个问题与 AMS 0.8 相关
我有两个模型:
class Subject < ActiveRecord::Base
has_many :user_combinations
has_ancestry
end
class UserCombination < ActiveRecord::Base
belongs_to :stage
belongs_to :subject
belongs_to :user
end
和两个序列化器:
class UserCombinationSerializer < ActiveModel::Serializer
attributes :id
belongs_to :stage
belongs_to :subject
end
class SubjectSerializer < ActiveModel::Serializer
attributes :id, :name, :description, :subjects
def include_subjects?
object.is_root?
end
def subjects
object.subtree
end
end
当 aUserCombination
被序列化时,我想嵌入整个主题子树。
当我尝试使用此设置时,我收到此错误:
undefined method `belongs_to' for UserCombinationSerializer:Class
我尝试将其更改UserCombinationSerializer
为:
class UserCombinationSerializer < ActiveModel::Serializer
attributes :id, :subject, :stage
end
在这种情况下,我没有收到任何错误,但是以subject
错误的方式序列化了 - 不使用SubjectSerializer
.
我的问题:
- 我不应该能够在序列化程序中使用belongs_to 关系吗?
- 如果没有 - 我怎样才能获得想要的行为 - 使用 SubjectSerializer 嵌入主题树?