【问题标题】:Using Sequel with jsonapi-serializer将 Sequel 与 jsonapi-serializer 一起使用
【发布时间】: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


    【解决方案1】:

    原来这是jsonapi-serializer gem 中的一个错误,现已解决。 (在撰写本文时尚未发布)。

    使用git 选项获取最新版本

    gem 'jsonapi-serializer', git: 'git://github.com/jsonapi-serializer/jsonapi-serializer'
    

    https://github.com/jsonapi-serializer/jsonapi-serializer/issues/112

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 2019-02-19
      • 1970-01-01
      • 2020-06-30
      • 2019-04-22
      • 2015-11-09
      • 2018-08-06
      相关资源
      最近更新 更多