【发布时间】:2017-11-04 12:24:30
【问题描述】:
我正在使用 ActiveModel 序列化器来序列化我的模型,并且我经常需要创建一个新的序列化器以满足控制器的需求,而不会将不必要的信息包含到另一个控制器中。
class ContactGroupSerializer < ActiveModel::Serializer
attributes :id, :name, :contacts, :contacts_count,
:company_id, :user_id
def contacts_count
object.contacts.count
end
end
有没有办法定义一个序列化器,例如上面的那个,它们动态地选择要包含在我的控制器响应中的属性?
class ContactsGroupsController < ApplicationController
def index
...
render json: @contact_groups // here I would like to return only id and name, for example
end
end
我知道我可以通过创建另一个序列化程序来实现,但我不想这样做。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 serialization