问题标签 [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 投票
1 回答
282 浏览

ruby-on-rails - 最新的 Active_Model_Serializers 打破了设计视图

我正在对我们的一位客户使用的 Rails 应用程序进行一些更新。

长话短说,它依赖于 Devise 进行身份验证和 Active Model Serializers 来序列化我们 API 中的数据。

当前版本使用Active Model Serializers 的一个分支,这是一个相当旧的版本。我需要最新版本的 Active Model Serializers 中的一些功能,所以我将 gem 更改为查看master。方便的是,fork 中的更改已添加到 AMS 的最新版本中,因此我更改了语法,一切看起来都很好。

但是,一旦我退出该站点并重新登录,我就意识到有些东西非常糟糕。正如预期的那样,注销的用户会被重定向到 /users/sign_in。然而,自从 gem 更新以来,该页面现在是空白的 - 没有标题,没有 HTML,什么都没有。只是白色。我恢复到旧版本的 gem 以确认这是问题所在,并且 /users/sign_in 页面运行良好。

检查我的 rails 调试输出,我显示以下内容:

有人对为什么我的观点突然空白有一些提示吗?

附加信息

我不确定这是否相关,但这也很有趣。我尝试卷曲 /users/sign_in 页面,并在 cURL 上得到 JSON 响应。

这不是在普通浏览器上实现的。

__

在我的路线中,我有以下行将 Devise 映射到 /users,并覆盖注册控制器。

注册控制器如下所示:

0 投票
1 回答
137 浏览

ember.js - 多级 hasMany 侧载

我用来ActiveModel::Serializers将 JSON 输出到 Ember.js 应用程序。我使用侧载来最大化性能。

我可以告诉ActiveModel::Serializers侧载所有PhoneNumbersSwitchboardSerializer吗?

switchboard_serializer.rb

sip_account_serializer.rb

0 投票
1 回答
761 浏览

ruby-on-rails - 将 has_many 添加到 ActiveModel::Serializer 的问题

一段时间以来,我一直在尝试将 has_many 关系添加到我的 ActiveModel::Serializers 中,但我遇到了一堆与它们相关的错误。似乎 has_many 关系正在调用错误的序列化程序。这是错误:

代码在此处列出:https ://gist.github.com/pzuraq/5361607

0 投票
0 回答
237 浏览

ruby-on-rails - 如何侧面加载当前范围的序列化?

我想用我的 json 响应附加当前范围的序列化。虽然当前范围可用于ActiveModel:: Serializer,但它不一定与正在序列化的模型相关联;所以我不确定如何包含它。

我的第一直觉是创建一个合并模型序列化和范围序列化的包装器。我认为这个包装器会打破一些约定。

是否有侧面加载此上下文的模式?

0 投票
2 回答
8211 浏览

ember.js - Ember.js current_user - 从控制器访问全局变量

我对一个看似简单的 ember 问题感到困惑。我正在使用active_model_serializers 元数据序列化从 rails 控制器序列化我的 rails current_user 方法,然后使用这个人的临时解决方案提取该 current_user 元 json 并将其设置为全局 ember 变量。

到目前为止一切都很好。现在我可以通过输入 App.metaData.current_user 从控制台访问 current_user 信息,也可以通过调用特定属性从把手访问,即:

并且该电子邮件属性显示在模板中。当我尝试从 ember 控制器中访问该全局变量时,问题就出现了。这看起来非常简单,但我似乎无法从任何 ember 控制器中访问 c​​urrent_user。我试过了:

和其他一些方法,但似乎无法访问它。奇怪的是,我可以通过直接路径从控制台和车把中如此轻松地访问 current_user,但不能从 ember 控制器中访问。我一定遗漏了一些明显的东西。

将不胜感激任何帮助!

0 投票
1 回答
535 浏览

ember.js - 如何在多 2 多关联上填充相关模型?

使用 ember-data,我有这两个模型:

和这个序列化:

当我请求帖子时,我得到了预期的 JSON,我可以毫无问题地访问帖子的类别,但是如果我请求类别(我认为它们被缓存),我得到的类别与帖子没有任何关系。它甚至不会尝试发出获取请求(这也不起作用)。

那么,类别不应该填满他们的帖子关系吗?

不确定我是否错过了 ember 或 AMS 中的某些内容(我认为类别序列化程序应该知道有很多帖子)

0 投票
2 回答
4557 浏览

ruby-on-rails-3 - 在活动模型序列化器中限制关联级联

我在限制活动模型资源中序列化的关联级别时遇到问题。

例如:

一个游戏有很多团队,有很多玩家

当我为团队检索 JSON 时,它会根据需要将所有玩家包含在一个子数组中。

当我检索游戏的 JSON 时,它包括子数组中的所有团队,非常棒,而且还包括每个团队的所有玩家。这是预期的行为,但是否可以限制关联级别?游戏是否只​​返回没有玩家的序列化团队?

0 投票
2 回答
680 浏览

ruby-on-rails - active_model_serializer 多对多无限循环

ruby 的 active_model_serializer (AMS) 是否能够管理多对多关系?

例如:

我收到“堆栈级别太深”错误。

参考 AMS github repo 上的这个问题:https ://github.com/rails-api/active_model_serializers/issues/211

根据上一个链接,我认为这还不支持,但欢迎任何优雅的解决方法。

0 投票
2 回答
4643 浏览

json - 使用 ActiveModel::Serializers 包含两个父 json 数组

我正在尝试发送如下所示的前端应用程序 json:

我尝试过的事情

序列化程序发现了这一点。耶!但这不包括任何导师

这给了我一个讲师数组和一个设施数组,但没有使用 activeModel::Serializers。

一开始我对这个很兴奋,因为它给了我两个数组,而且它使用了 ActiveModel::Serializers。然而,这就是 JSON 的样子:

ActiveModel::Serializers 甚至允许我尝试做的事情吗?如果是这样,怎么做?

提前非常感谢!

0 投票
1 回答
1468 浏览

ruby-on-rails - ActiveModel 动态属性

抱歉,如果我的问题很愚蠢,但是我花了很多时间搜索解决方案,但没有找到。

我想创建一个ApiOutputsHandler没有数据库的模型。所以我创建了一个 ActiveModel。此模型将用于我的 API 的自定义响应,例如错误(但不仅限于)。我已经使用 send() 方法将属性添加到这个模型中,但认为它非常糟糕......

然后,我像这样实例化我的对象

我会花很多钱ERR_TYPES(这就是兴趣)。你认为有更好的方法吗?

当我检查创建的对象时,它看起来像这样:

你看到属性前面的香气了吗?为什么我得到那个而不是常见的:

感谢您的帮助!