问题标签 [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.
active-model-serializers - 使用活动模型序列化程序的关联错误
渲染具有嵌套关联的模型的 json 时,出现以下错误:
这是我的代码:
呈现选项关联时出现错误。
这是一个非常简单的案例,但我没有发现任何问题。
testing - 将 Rspec 模拟转换为 Mocha 以测试活动模型序列化器
我正在使用 Benedikt Diecke 在自定义 rspec 示例组上的帖子来测试活动模型序列化程序,但无法将其转换为使用 mocha 而不是 rspec 模拟。
http://benediktdeicke.com/2013/01/custom-rspec-example-groups/
该示例包括一个模拟将被序列化的模型类的通用方法,它使用 rspec 模拟 - 我如何将其转换为使用 mocha?
ember.js - Ember.js:如何将模型同步到与默认不同的命名空间
在我的 store.js.coffee 中,我正在为我的 API 设置命名空间:
这是我想用于我的 ember-data API 调用 Rails Active Model Serializers 的基本命名空间。
但在某些 API 调用中,我希望我的模型与 namespace 中的端点同步api/v1/admin
。
如何在 Ember 中执行此操作(将应用程序默认设置为api/v1
)?
ruby-on-rails-4 - 如何使用 ActiveRecord::Relation 数组初始化 ActiveModel::Serializer 类?
我有一个序列化器
使用适当的关联进行初始化
产量
但,
得到这个错误。
我不想简单地渲染 json: Funding.all,因为我想将此 json 传递给我的 rails 应用程序和 angularjs 应用程序中的其他对象。谢谢,
ruby-on-rails-4 - ActiveModel::Serializer 是否需要显式渲染调用?
我知道在使用视图模板(html、rabl)时,我不需要在控制器操作中显式调用渲染,因为默认情况下,Rails 使用与控制器操作名称对应的名称渲染模板。我喜欢这个概念(不关心在我的控制器代码中呈现),因此想知道在使用 ActiveModel::Serializers 时这是否也可行?
例如,这是来自生成的控制器(Rails 4.1.0)的代码:
这是序列化程序:
点击/products/1.json,我预计会发生两件事:
- 序列化程序中未列出要省略的字段,
- 要封装在“产品”顶级字段中的整个 JSON 对象。
但是,这不会发生,整个序列化程序被忽略。但是,如果我将 Show 方法修改为以下内容:
现在一切都很好,但是我失去了 before_action 过滤器的好处(在我看来,我有一些冗余代码)。
这应该怎么做?
ruby-on-rails - 使用 ActiveModel::Serializers 有条件地侧载
我正在使用ActiveModel::Serializers构建 API 。使用参数有条件地侧载数据的最佳方法是什么?
所以我可以提出如下要求GET /api/customers
:
和GET /api/customers?embed=address,note
类似的东西取决于参数。我知道 ActiveModel::Serializers 有include_[ASSOCIATION]?
语法,但我怎样才能从我的控制器有效地使用它?
这是我目前的解决方案,但它并不整洁:
customer_serializer.rb:
application_controller.rb:
客户控制器.rb:
必须是更简单的方法吗?
ruby-on-rails - 如何删除carrierwave自动生成的json
我正在使用 jquery-file-upload 将头像图像文件上传到带有导轨的carrierwave。
控制器:
我还使用 active_model_serializers 来生成 json:
在我使用 jquery-file-upload 上传头像图像后,我得到了响应:
如您所见,json 的“图像”部分是 carriverwave 添加的部分。我想删除它。怎么做?谢谢
activemodel - Rails Active Model 序列化程序未设置 root
我有一个不是 ActiveRecord 对象的类,我试图为它创建一个 AM 序列化程序。我可以返回正确的 json,但它不包括根
在我的控制器中有这个
我的课看起来像这样
我也尝试在控制器中添加它
但是我的 json 对象仍然没有 Ember 模型所需的根
返回对象
我需要
ruby-on-rails - 如何避免 ActiveModel 序列化程序中的多个 SQL 调用?
我发现当我使用 ActiveModel 序列化器为一组包含关联的模型生成 JSON 时,会产生大量 SQL 查询(每个关联一个)。我怎样才能避免这种情况?
我试图在控制器中包含一个:
但这似乎不起作用。即使我将关系(包含)直接传递给 ArraySerializer 它也无济于事。
ruby-on-rails - Rails active_model_serializer 应用于分组的活动记录
我正在使用https://github.com/rails-api/active_model_serializers中的 active_model_serializer,并且目前想将我的模型的序列化应用于分组的活动记录。
我有一个模型,它代表带有标题、内容和发布日期的 BlogPost。在序列化过程中,我使用序列化程序将日期格式化为对用户更友好的格式。这适用于活动记录,但是我首先想将我的 BlogPost 记录分组到 :published 和 :unpublished 像这样
如果我呈现分组数据的 json 输出,则序列化程序不会应用于 BlogPost 对象,并且数据会按原样返回。
有人知道如何在分组(grouped_by)活动记录上应用序列化程序吗?