问题标签 [jsonapi-serialize]
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 - 如何在仅 API 的 Rails 中保存嵌套的多对多关系?
在我的 Rails(仅限 api)学习项目中,我有 2 个模型,Group 和 Artist,它们与加入模型 Role 具有多对多关系,其中包含有关该关系的附加信息。我之前可以通过自己保存连接模型来保存 m2m 关系,但在这里我试图将关系保存为嵌套关系。我正在使用jsonapi-serializer gem,但没有与之结婚,也没有绑定到 JSON api 规范。让它发挥作用比遵循最佳实践更重要。
使用此设置,我在尝试保存时收到 500 错误并出现以下错误:
Unpermitted parameters: :artists, :albums
和ActiveModel::UnknownAttributeError (unknown attribute 'relationships' for Group.)
我怀疑我的问题在于强大的参数和/或 json 有效负载。
楷模
控制器#create
控制器#group_params
序列化器
示例 JSON 有效负载
附加信息
知道我能够使用以下 json 和强参数的组合保存另一个模型可能会有所帮助。
ruby-on-rails - 如何在仅 API 的 Rails 中保存嵌套的一对多关系?
在我的 Rails(仅限 api)学习项目中,我有 2 个模型,Group 和 Album,它们具有一对多的关系。当我尝试使用嵌套的(已经存在的)专辑保存组时,我收到以下错误,ActiveRecord::RecordNotFound (Couldn't find Album with ID=108 for Group with ID=)
. 我正在使用jsonapi-serializer gem。下面是我目前的设置。任何帮助表示赞赏。
楷模
组控制器#create
GroupsController#group_params
序列化器
示例 JSON 有效负载
ruby-on-rails - 如何自定义 jsonapi-serializer 缓存命名空间 - Ruby on Rails
在我的 rails 应用程序中,我有categories
基于location
. 我想通过使用jsonapi-serializer
's 缓存方法在序列化程序级别缓存这些类别cache_options store: Rails.cache, namespace: 'jsonapi-serializer', expires_in: 3.hours
。这里的问题是,当我第一次调用它来检索类别时City A
,例如然后稍后尝试从中检索类别City B
仍然会显示City A
的数据。我现在要做的是传递city
给序列化程序,然后将其添加到namespace
使用类似的东西namespace: "jsonapi-serializer/categories/#{:city}"
以区分它们,但我还没有找到这样做的方法。
目前我有这段代码可以categories
根据位置检索,然后序列化并呈现一个 json
WhileCategory.active_categories
和Category.all_category
正在缓存查询,如下所示:
active_categories:
all_category:
ruby-on-rails - 带有 jsonapi-serializers 的条件属性抛出 TypeError
我正在使用 ruby-2.6.0 和 Rails 6 开发 Ruby on Rails 项目。我正在开发 api 部分,我在我的应用程序中使用了 jsonapi-serializers gem。我想在序列化程序中添加条件属性。
控制器:
序列化器:
所以在这里我从上下文中的控制器传递'order_detail'。我收到以下错误: -
我遵循了jsonapi-serializer中提到的条件属性,并试图使我的“ordered_date”属性成为条件属性,但它不起作用。
请指导我如何解决它。提前致谢。
ruby-on-rails - 用于 has_many 查询的 Jsonapi 序列化程序参数
我需要过滤记录以包含与传递给序列化程序的参数的 has_many 关系。该object_method_name
选项正在调用模型中的方法,但是如何将参数传递给该方法?
或者有没有办法使用 Proc 来获取 has_many 关系的记录?至少找不到任何文档。
rubygems - 更改包含参数 FastJsonapi 的关系名称
我正在使用 FastJsonapi 序列化对象。
这里的问题是,FastJsonapi 提供的 key: :posts 仅将响应中的类型显示为帖子而不是出版物。
但是对于包含参数,它仍然必须是 include[]=publications(实际表的名称)
如果我输入 ../authors?include[]=publications,它可以工作。但是对于 include[]=posts,它不会。是否可以使用 FastJsonapi 更改它?
json - 在 jsonapi 中包含具有相同 ID 和类型的多个关系的方法
我有这样的要求,即根据 id 从数据库中获取数据。该记录可以具有相同 id 和类型的多个值,因为它是历史类型。然而,我们使用的版本每次都会改变。我想要的和我得到的样本如下。我正在使用Java8
,rest-api
并json api
在其中使用注释标记关系属性。此数据是从数据库中保存和获取的,因此要成为完全唯一的行,id 和版本组合应该是唯一的。这意味着数据库中存在具有相同 id 但版本不同的记录
我想要的是:
我得到什么:
ruby-on-rails - 未找到 JsonApi 序列化程序
我已经跑gem 'jsonapi-serializer'
和bundle install
.
然后我尝试运行生成器rails g serializer User username id
,但命令总是冻结。所以我手动创建了序列化程序:
但是当我从我那里调用它时,我UsersController
得到一个错误:
这里的错误:
似乎 UserSerializer 没有加载,我不确定在哪里可以修补以使其工作。
ruby-on-rails-5 - 使用 jsonapi-serailizer 在 UTC 中渲染时间戳
我正在尝试在没有时区指示符的情况下以 UTC 格式呈现我的响应中的时间戳。我正在使用 jsonapi-serializer 序列化我的资源,但是它不提供配置时间戳格式的方法。我不得不像这样包装每个时间戳属性作为解决方法:
我正在尝试找到一种更好的方法来做到这一点,因为我正在为所有资源实现这个,而不仅仅是这个序列化器。
ruby-on-rails - 非活动记录对象与 JSONapiseriliazer gem 的自定义关系
我正在尝试为序列化器中的对象实现关系,但是该关系不是实际的活动记录关联,这意味着没有称为发布者的表。这只是我想显示为关系的用户对象的一种方法。
接着
但是我不断收到“Publisher_ex”的未定义方法“id”:字符串我怎样才能使它工作?我更希望将发布者作为一种关系而不是一种属性,还是没有办法解决它?