问题标签 [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 - 活动模型序列化程序是否与 JSONP 一起使用?
如果不是,我怎样才能使它与我的 AJAX 请求兼容 JSONP?
编辑:看起来我不清楚我想要实现的目标。例如,假设我有一个包含 id、作者、标签和内容等属性的 Post 类。现在,我将使用以下 ActiveModel::Serializer 来编码 JSON 响应:
现在在控制器中,我会做类似的事情
生成一个看起来像这样的 JSON 文件
现在我的目标是使用 JSONP,这样当有人在请求中传入 jsoncallback 参数时(例如 GET '/posts?jsoncallback=callback_function'),我将能够生成以下内容:
目前,我在 Post 对象上使用 to_json 并将结果存储到名为 @posts_json 的变量中,然后在控制器中将 Content-Type 指定为 text/javascript,并呈现如下所示的 html.erb 文件:
我相信你会同意这个解决方案真的很难看,问题是由于我在控制器中使用的 to_json 方法,它开始给我带来问题。
因此,我想使用 ActiveModel::Serializer 来获得相同的功能。我该怎么做?
ember.js - 序列化 async hasMany 关系
我对 EmberJS 还很陌生,晚上的大部分时间我都在摆弄,试图在我正在开发的新应用程序中坚持一些 hasMany 和多对多的关系。
我正在使用 Ember DataActiveModelAdapter
将其连接到我正在使用的 rails 后端ActiveModelSerializers
我正在使用我正在使用的以下版本的 Ember 和 Ember Data。
我遇到的基本问题是,在保存记录时,关联 ID 没有被发送回服务器。
我深入研究了ActiveModelSerializer 源,发现它跳过了 hasMany 序列化
我提出了以下基本解决方案,到目前为止它正在工作,但我想知道是否有遵循 Ember 约定和最佳实践的更清洁的解决方案。
ruby-on-rails - prettify JSON output of active-model-serializer in rails console
I am testing active-model-serializer output in the rails console and I am looking for a way to prettify the output. The the only solution I have found so far is:
That seems like a roundabout approach. Is there a "better way"?
ember.js - Ember.JS ActiveModelAdapter 和 Active Model Serializers 默认行为
我有一个简单的活动模型序列化器:
我也有类别和用户序列化程序,它们按预期工作。我得到这个有效载荷:
但是,它们似乎没有加载到 ember 中。
当我检查 ember 检查器时,未加载数据。ActiveModelSerializer 期望什么样的格式?它加载一个活动,但不加载类别或用户属性。
ruby-on-rails - Active Model Serializer,测试使用哪个序列化器来渲染响应
我正在使用活动模型序列化程序来呈现来自 rails 控制器的 JSON 响应。
我有一个这样的控制器动作:
我希望能够测试在我的 Rspec 控制器测试中使用了哪个序列化程序。是否可以从测试中获取对序列化程序的引用?
更新:
我不认为这是对序列化程序的正确使用。我现在在序列化程序本身中有逻辑来有条件地包含属性。控制器不应该真正关心使用哪个序列化程序。
ruby-on-rails - 分配前的 ruby/rails 变量范围
更新:
谢谢大家,跟着这个:
有没有更好的方法来处理这里 res 属性的分配,以保持它可用于渲染调用?总的来说,我只是想知道如何改进这种非常臭的方法。
ruby-on-rails-4 - 使用 Active Model Serializers,如何渲染部分?
我正在创建一个新闻源并使用 Active Model Serializers gem 设置一个 JSON 响应。我想渲染一个常规的 ERB 部分并将其作为 JSON 中的属性之一。
控制器/posts_controller.rb:
序列化程序/post_serializer.rb:
不幸的是,我的视图有一些使用帮助程序和请求对象(url)的代码,当我尝试这样做时出现错误。
事件/_event.html.erb:
undefined method `host' for nil:NilClass
有什么解决这个问题的好方法的想法吗?
ruby-on-rails - 即使没有任何变化,activeModel::dirty 记录也会发生变化
我正在使用 ActiveModel::Dirty 库。我有以下代码:
如果用户更改表单中的某些内容,此方法会更改控制器的行为。问题是其中一个字段是日期时间,并且由于某种原因,previous_changes 认为日期时间每次都会更改,无论是否更改。
控制台甚至告诉我没有变化。以下是上述 puts 语句在控制台中产生的内容:
我的基本问题是为什么 previous_changes 认为每次都有变化,我该如何解决?
activerecord - 如何从 ActiveRecord 呈现 JSON 相关数据包括
如何从包含查询中呈现 JSON 格式的网格?下面的代码只输出文件夹。
ruby-on-rails - 在 Mongoid 嵌入式类上不调用 Rails 序列化程序
我有两个 mongoid 模型,我们称它们Model
为ModelChild
. 这是关系Model
:
这是关系model_child
:
问题是它ModelSerializer
被称为,但ModelChildSerializer
不是。我做错了什么还是设计使然?如果它是设计使然,我怎样才能让它调用ModelChildSerializer
.
编辑:
控制器的渲染调用:
和代码ObjSerializer
: