希望有人可以帮助我
我使用rails序列化程序将我的模型输出格式化为RESTFul JSON Web服务。
现在我的问题是......
假设我有一个模型用户,我将在应用程序中随处使用。我想要的一些地方几乎都是用户数据(姓名,电子邮件,电话,地址等等),而其他地方我只想要这个名字,电子邮件。但是,这些用户对象通过has_many,belongs_to ...等附加到某个主模型。
那么如何在每个特定输出中指出我想要的用户序列化器。
提前致谢
答案 0 :(得分:0)
在您的情况下,您希望每种情况都使用自定义序列化程序,因此请使用不同的序列化程序。
has_many :users, serializer: UserAllSerializer
如果你想从the github page of rails serializer删除整个密钥,也可以这样做。
class PostSerializer < ActiveModel::Serializer
attributes :id, :title, :body
has_many :comments
def filter(keys)
keys.delete :comments if object.comments_disabled?
keys
end
end
如果您想确定序列化的范围,请查看at this part