在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规范中的一个强制字段)
我不太明白为什么会发生这种情况,因为很明显,续集模型包含一个列id,并调用它返回预期的结果
UserSequel.first.id
# => 1发布于 2020-08-28 16:31:38
原来这是jsonapi-serializer gem中的一个bug,现在已经解决了。(在本文撰写之时还没有发布)。
使用git选项获取最新版本
gem 'jsonapi-serializer', git: 'git://github.com/jsonapi-serializer/jsonapi-serializer'https://github.com/jsonapi-serializer/jsonapi-serializer/issues/112
https://stackoverflow.com/questions/63403607
复制相似问题