问题标签 [active-model-serializers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
959 浏览

javascript - Ember 数据属于关联(JSON 格式?)

我有两个模型'Author'和'Publisher'(Rails),一个发布者有一个作者/作者属于发布者的关系。

我正确设置了 Ember 模型——JS Fiddle——并且当我手动推入商店时关联工作。但是在请求 /publishers 索引时只创建发布者记录。

我尝试了几种类型的 JSON 响应:

有作者的出版商

有作者的出版商

嵌入作者的出版商

谢谢你的帮助!

0 投票
3 回答
1376 浏览

ruby-on-rails - Active Model Serializer 和 Paperclip 不同尺寸

我有一个资产模型类,它使用回形针 3.5.2 具有不同的大小:

这有点令人困惑,因为 Paperclip 使用名称类,而模型称为类(确实令人困惑)。我收到以下错误:

它显然不喜欢传递给资产的论点

0 投票
1 回答
523 浏览

ember.js - ember-data 中的自引用关系(用户的朋友)

在 Rails 4.0 后端我有以下内容:

我想将用户的好友列表传入 JSON,所以我写了一个序列化器:

在余烬方面,我正在尝试使用以下User模型加载 JSON:

但这给了我一个错误

它要求我提供Friend模型,但 aFriendUser. 我猜我需要告诉 ember-data 该friends数组实际上是一个User记录数组,但如果friends: DS.hasMany('user')不这样做,那我不​​知道该怎么做。如何将此数据结构正确加载到 ember 中?

0 投票
1 回答
6086 浏览

ruby-on-rails - 如何使用 active_model_serializers 为嵌套对象选择序列化程序

我正在使用 rails 4.0.0 并且正在寻找一种方法来序列化包含具有这些预定义对象的序列化程序的预定义对象的自定义对象。

示例:我有一个带有序列化程序 StudentSerializer 的模型 Student。我想按如下方式呈现 JSON 对象:

我为 Student 编写的序列化程序只序列化 email 和 id 属性。但是,当我打电话时:

我得到所有属性的学生的全部对象。是否可以为 JSON 响应中的嵌套对象选择带有 active_model_serializers 的序列化程序?

一个可能的解决方案可能是编写一个新的序列化程序,它包含我刚刚描述的整个对象并将其用作序列化程序,但如果可能的话,我宁愿避免这种情况。

0 投票
1 回答
146 浏览

ruby-on-rails - 如何从深度嵌套的资源中检索相关数据

我在下面有深层嵌套的资源:

我想检索events属于某个用户的所有行activerecord

我在下面尝试过,但这似乎并没有生成我想要的结果,即事件数据:

以上生成:

我想要 JSON 格式的事件数据......

我也在使用活动模型序列化程序。

解决这个问题的最佳方法是什么?

事件模型:

0 投票
1 回答
723 浏览

ruby - ActiveModel 的 `as_json` 无法按预期工作

我想用as_json方法自定义我的 ActiveModel 实例的 json 输出。但是虽然在only选项中传递了属性白名单,但结果包括所有属性。

这是示例:

是不是我做错了什么?

0 投票
0 回答
505 浏览

json - active_model_serializers:如何通过内联渲染获取自定义 json:json?

我在我的 rails 4 中使用 active_model_serializers gem。如果我使用它就可以工作

输出像

其中 label、url 等是通过 active_model_serializers 自定义生成的详细信息

我的行动

但这只是输出,没有 label 和 url 属性

那么我该怎么做才能达到我想要的结果呢?谢谢。

0 投票
6 回答
10162 浏览

ruby-on-rails-3.2 - 将 active_model_serializer 与非 ActiveRecord 对象一起使用

我有一个模型对象,它不是 ActiveRecord::Base 的后代,也没有存储在数据库中。我为它创建了一个序列化程序(具有相同的名称+“序列化程序”),并在我的控制器中调用render json: object_instance.

结果是来自内部深处的异常render

我实现了一个as_json实例化序列化程序并调用它的方法,但结果是对象中缺少一个方法,read_attribute_for_serialization.

至少就 Active Model Serializer 而言,我希望我的对象能够像 ActiveModel 兼容的对象一样工作,但我在他们的文档中没有看到对此的任何引用。

0 投票
1 回答
360 浏览

ruby-on-rails - 使用 ActiveModelSerializers 并使用特定的 Seriazlier 渲染子级

我有以下关系(使用 RoR 3.2.13 和祖先 2.0.0)并且真的需要一些帮助来配置序列化程序如何使用 MenuHeaderSerializer 呈现:

我的序列化程序非常易于解释,如下所示:

所以我对孩子的呼吁应该使用 MenuHeaderSerializer 返回孩子。那有意义吗?

我已经尝试了我认为的所有变体,如下所示:

或试图强迫孩子使用 MenuHeaderSerializer 但我不知所措。任何帮助,将不胜感激。

也许是这样的:

谢谢

0 投票
0 回答
58 浏览

ruby-on-rails - 如何让分配给对象的模型使用 Active Model Serializer 类进行渲染

我不确定这是否可行,但我目前正在为 Ruby 对象分配一些值,然后通过 to_json 输出

喜欢:

结尾

现在,notes 会输出我所期望的所有内容。但是我有一个 NoteSerializer,我认为它会被 to_json 调用(这就是我阅读本节的方式https://github.com/rails-api/active_model_serializers#render-json但不太确定)。我怎样才能让 mi.notes 使用 NoteSerializer 而不是返回整个对象的默认值(updated_at、create_at ...)?

谢谢