【发布时间】:2020-08-13 21:40:54
【问题描述】:
在 Rails api 项目中,我添加了这个 gem 用于返回 json
gem 'jsonapi-serializer'
这些是我定义的模型,都是非常基本的东西。
class UserSequel < Sequel::Model(:users)
end
class User < ActiveRecord::Base
end
我生成了一个序列化器类
class UserSerializer
include FastJsonapi::ObjectSerializer
attributes :text
end
现在回答问题
# Using ActiveRecord model returns some json as expected
UserSerializer.new(User.first).serializable_hash.to_json
但是以下...
# Using Sequel model
UserSerializer.new(UserSequel.first).serializable_hash.to_json
返回此错误消息
FastJsonapi::MandatoryField(id 是 jsonapi 规范)
我不太明白为什么会发生这种情况,因为显然 Sequel 模型包含一个列 id 并且调用它会返回预期结果
UserSequel.first.id
# => 1
【问题讨论】:
标签: ruby-on-rails sequel fastjsonapi