我有2个模型: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
返回所需的属性。
任何帮助将不胜感激。
您正在将default_branch
序列化为属性,因此BranchSerializer
不会启动。加
has_one :default_branch do
object.branches.find_by_name(object.default_branch)
end