问题标签 [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.
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,并覆盖注册控制器。
注册控制器如下所示:
ember.js - 多级 hasMany 侧载
我用来ActiveModel::Serializers
将 JSON 输出到 Ember.js 应用程序。我使用侧载来最大化性能。
我可以告诉ActiveModel::Serializers
侧载所有PhoneNumbers
的SwitchboardSerializer
吗?
switchboard_serializer.rb
sip_account_serializer.rb
ruby-on-rails - 将 has_many 添加到 ActiveModel::Serializer 的问题
一段时间以来,我一直在尝试将 has_many 关系添加到我的 ActiveModel::Serializers 中,但我遇到了一堆与它们相关的错误。似乎 has_many 关系正在调用错误的序列化程序。这是错误:
ruby-on-rails - 如何侧面加载当前范围的序列化?
我想用我的 json 响应附加当前范围的序列化。虽然当前范围可用于ActiveModel:: Serializer
,但它不一定与正在序列化的模型相关联;所以我不确定如何包含它。
我的第一直觉是创建一个合并模型序列化和范围序列化的包装器。我认为这个包装器会打破一些约定。
是否有侧面加载此上下文的模式?
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 控制器中访问 current_user。我试过了:
和其他一些方法,但似乎无法访问它。奇怪的是,我可以通过直接路径从控制台和车把中如此轻松地访问 current_user,但不能从 ember 控制器中访问。我一定遗漏了一些明显的东西。
将不胜感激任何帮助!
ember.js - 如何在多 2 多关联上填充相关模型?
使用 ember-data,我有这两个模型:
和这个序列化:
当我请求帖子时,我得到了预期的 JSON,我可以毫无问题地访问帖子的类别,但是如果我请求类别(我认为它们被缓存),我得到的类别与帖子没有任何关系。它甚至不会尝试发出获取请求(这也不起作用)。
那么,类别不应该填满他们的帖子关系吗?
不确定我是否错过了 ember 或 AMS 中的某些内容(我认为类别序列化程序应该知道有很多帖子)
ruby-on-rails-3 - 在活动模型序列化器中限制关联级联
我在限制活动模型资源中序列化的关联级别时遇到问题。
例如:
一个游戏有很多团队,有很多玩家
当我为团队检索 JSON 时,它会根据需要将所有玩家包含在一个子数组中。
当我检索游戏的 JSON 时,它包括子数组中的所有团队,非常棒,而且还包括每个团队的所有玩家。这是预期的行为,但是否可以限制关联级别?游戏是否只返回没有玩家的序列化团队?
ruby-on-rails - active_model_serializer 多对多无限循环
ruby 的 active_model_serializer (AMS) 是否能够管理多对多关系?
例如:
我收到“堆栈级别太深”错误。
参考 AMS github repo 上的这个问题:https ://github.com/rails-api/active_model_serializers/issues/211
根据上一个链接,我认为这还不支持,但欢迎任何优雅的解决方法。
json - 使用 ActiveModel::Serializers 包含两个父 json 数组
我正在尝试发送如下所示的前端应用程序 json:
我尝试过的事情
序列化程序发现了这一点。耶!但这不包括任何导师
这给了我一个讲师数组和一个设施数组,但没有使用 activeModel::Serializers。
一开始我对这个很兴奋,因为它给了我两个数组,而且它使用了 ActiveModel::Serializers。然而,这就是 JSON 的样子:
ActiveModel::Serializers 甚至允许我尝试做的事情吗?如果是这样,怎么做?
提前非常感谢!
ruby-on-rails - ActiveModel 动态属性
抱歉,如果我的问题很愚蠢,但是我花了很多时间搜索解决方案,但没有找到。
我想创建一个ApiOutputsHandler
没有数据库的模型。所以我创建了一个 ActiveModel。此模型将用于我的 API 的自定义响应,例如错误(但不仅限于)。我已经使用 send() 方法将属性添加到这个模型中,但认为它非常糟糕......
然后,我像这样实例化我的对象
我会花很多钱ERR_TYPES
(这就是兴趣)。你认为有更好的方法吗?
当我检查创建的对象时,它看起来像这样:
你看到属性前面的香气了吗?为什么我得到那个而不是常见的:
感谢您的帮助!