在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
答案 0 :(得分:0)
事实证明,这是jsonapi-serializer
宝石中的错误,现已解决。 (尽管在撰写本文时尚未发布)。
使用git
选项获取最新版本
gem 'jsonapi-serializer', git: 'git://github.com/jsonapi-serializer/jsonapi-serializer'
https://github.com/jsonapi-serializer/jsonapi-serializer/issues/112