我有两个型号:Repository
和Branch
,两者都有相应的序列化器。
在RepositorySerializer
中,我想列出一个默认分支。以下是我的表现:
attributes :id, :name, :ssh_url, :default_branch
has_many :branches
def default_branch
object.branches.find_by_name(object.default_branch)
end
在BranchSerializer
中,我有:
attributes :id, :name
branches
返回正确序列化的所有分支,仅包含id
和name
属性,但default_branch
会返回该分支的所有属性。
在这种情况下,有没有办法利用现有的BranchSerializer
,或者我应该从方法default_branch
返回所需的属性。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您将default_branch
序列化为属性,因此BranchSerializer
不会启动。
添加
has_one :default_branch do
object.branches.find_by_name(object.default_branch)
end