【发布时间】:2018-08-15 23:30:56
【问题描述】:
我将 active_model_serializers gem 用于 RoR API。版本:
导轨: 4.2.8
红宝石: 2.2.5
active_model_serializers: 0.10.0
我在序列化程序中使用虚拟属性。当我从数据库中检索对象时,我通过使用子查询来获取它。
您可以在这里找到代码:Github Gist
这是我得到的错误:
undefined method 'number_of_reservations' for DiscountSchedule...
该字段未在表中或模型中定义(attr_accessor)
我不确定为什么它不起作用,我有一个非常相似的序列化程序,它工作正常。
任何帮助将不胜感激。
编辑:
我有另一个序列化程序,其中虚拟/计算字段工作正常。我对此的猜测是,由于 AR 正在创建一堆 LEFT OUTER JOINS,并且查询的 SELECT 列表在某些时候非常大,所以有些东西会坏掉。
【问题讨论】:
-
你能不能也分享一下序列化器和你的控制器的代码。
-
为什么要截断错误?如果可能,显示完整的错误和堆栈跟踪。
标签: ruby-on-rails postgresql active-model-serializers