【发布时间】:2019-02-06 22:21:38
【问题描述】:
我有这段代码,它使用自定义序列化程序呈现可变空缺,并且还包含一家餐厅作为我的模型的一部分。
vacancy = Vacancy.find(params[:id])
render json: vacancy,
serializer: VacancyDetailSerializer,
include: [:restaurant]
问题是我想包含多个对象并进行渲染,如下所示:
vacancy = Vacancy.find(params[:id])
render json: vacancy,
serializer: VacancyDetailSerializer,
include: [:restaurant, :total_vacancies]
在:total_vacancies 中我想发送Vacancy.count,但我不知道我是否必须通过序列化程序,或者在包含中,或者如何做到这一点。
据我所知,我只需要在对象后加一个逗号,然后在包含但不工作的情况下指定另一个对象。
更新
P.D. total_vacancies 不是表格,是我的 Vacancy 模型中的一种方法
P.D.2。确实,如果我将total_vacancies 作为我的序列化程序中的属性将起作用,但是如果我每次渲染此json 时都这样做,它将在每次调用空缺时重复total_vacancies,例如,假设我有100职位空缺,那么我的 json 会将我从职位空缺和total_vacancies 中获得的所有参数写入 100 次而不是 1 次作为不同的对象
【问题讨论】:
标签: ruby-on-rails ruby serialization model include