简体   繁体   English

Nil 对象的活动模型序列化程序问题

[英]Active Model Serializer issue for Nil object

ActiveModelSerializers::SerializableResource.new(object.project, include: [collaborator: :pictures]).as_json[:project]

When object.project is nil then it occurs an issue.当 object.project 为 nil 时,就会出现问题。 NoMethodError: undefined method `[]' for nil:NilClass NoMethodError: 未定义方法 `[]' 为 nil:NilClass

It's not related to ActiveModelSerializers (AMS) after all.毕竟它与 ActiveModelSerializers (AMS) 无关。 In Ruby, nil causes a lot of NoMethodError , so we often avoid nil s with if or unless modifiers.在 Ruby 中, nil会导致很多NoMethodError ,因此我们经常避免使用ifunless修饰符nil For example, in your case, we often do ActiveModelSerializers::SerializableResource.new(object.project, include: [collaborator: :pictures]).as_json[:project] if object.project例如,在你的情况下,我们经常做ActiveModelSerializers::SerializableResource.new(object.project, include: [collaborator: :pictures]).as_json[:project] if object.project

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM