问题标签 [grape-entity]
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 - 葡萄实体和 has_many 需要显式实体
我正在使用grape
和grape-entity
在 Rails 4.2.1 项目中,并且在使用正确的模型进行演示时遇到了一个奇怪的错误。
根据文档,在每个模型中组织我的实体会导致:
Grape 将自动检测 Entity 类并使用它来呈现您的模型。
此外,文档还说:
默认情况下,集合的每个对象都包装到 Entity 类的实例中。
这是我现在拥有的代码。
如果我不这样做expose :addresses, with: Address:Entity
,它就不起作用,并且仍然会暴露地址的所有字段。它没有自动检测到正确实体的任何原因?
ruby - ruby 葡萄 post 方法插入多行
如何使用 ruby Grape 将多行发布到数据库中。例如,当使用 CURL 进行测试时,这工作正常
但这不起作用
这是我的葡萄 api 代码
ruby-on-rails - 葡萄:如何去除多余的根元素暴露带有葡萄实体的集合时来自XML响应?
我正在使用葡萄(0.14.0)和葡萄实体(0.5.0)在我的Rails(4.2.5)应用程序中创建一个XML API。每当我在 Grape::Entity 类中指定显式根元素时,XML 响应就会被包装在不需要的根元素<hash>
中。我怎样才能摆脱它?
示例代码
结果
在 PartnerEntity 中没有根的结果
因为我需要明确命名我的根元素,所以我不能没有根。
ruby-on-rails - 无效的常量 API:: 带有葡萄和葡萄实体
我正在尝试使用grape-entity
,但我的实体类的命名空间有问题,但我不知道为什么。
我有这个葡萄实体类:
还有葡萄类:
当我打电话时,curl http://localhost:3000/api/v1/vehicules?user_id=123
我在 rails 服务器中有这条消息:
任何帮助都会很棒。
ruby-on-rails - 带有数组的用户葡萄实体
我想知道 Grape Entity 是否可以用于渲染哈希数组,我想我记得它有效,但不知何故我现在无法让它工作,我是否犯了一些明显的错误?这是我的实体:
在我的 API 中,我这样调用渲染:
'result['hits']['hits']' 填充了 10 个包含数据的哈希值。数据存在。但是,当我查看结果时,我得到:
我做错了什么,或者这根本不可能。我似乎无法挖掘有关数组主题的任何文档。
干杯
汤姆
ruby - 如何使用 Ruby Grape Entity 自定义格式化属性?
我的模型中有一个属性价格,目前它正在以科学计数法格式化,我宁愿以十进制表示法显示。
ruby-grape建议使用以下代码自定义格式化字段:
但是,我注意到value是对象的属性,在此范围内不可用。这里是#{object.methods} 的输出:
所以下面的代码抛出了我 {“error”:“undefined method `price' for Hash:0x0055a87576f660”}
ruby-on-rails - 葡萄实体数组
我在 Ruby on Rails 项目中使用 Grape 和 Grape-Entity 库从后端公开我的参数。是否有可能在一个实体参数中公开两个参数值?
我的后端 json: {value: '1', value_second: '2'}
,但我想{values: [1,2]}
从我的端点获取。
更新!!!- 工作示例
ruby-on-rails - Rails LEFT OUTER JOIN Index 请求与葡萄实体
我目前正在将 Grape API 与 Rails 一起用于我们的 API(用于数据库的 Postgresql)。我是一名全职作为全栈开发人员的初级开发人员,所以我对我缺乏解释这个问题的经验表示歉意。
目前我正在尝试生成“员工”及其相应“地址”的报告。现在每个员工可以有多个地址。
所以我想做的是发出一个请求来获取多个员工及其相应的地址。我仍然想检索没有地址的员工,因此我需要一个 LEFT OUTER JOIN。问题是我需要此连接的条件。例如,有时我可能需要在 GET 请求中发送地址的“id”,以便它会响应所有员工,但只响应我请求的地址。此外,还会有其他地址和员工过滤器,例如仅返回在特定日期处于活动状态的员工和地址。
我只是不确定如何做到这一点,我所做的一切似乎都不起作用,我认为这与 Grape API 或一般轨道的工作方式有关。当我尝试 LEFT OUTER JOIN 时,它仍然没有给我正确的记录,我认为这是因为在葡萄实体中,它在暴露它时对 has_many 关联做了一些奇怪的事情?
无论如何,我希望我解释得足够好,如果你有更好的方法,请告诉我。也许在多个单独的请求中这样做以获得所有员工和我需要的地址是一种更好的方法。
更新
很抱歉没有提供编码示例。我设法想出了一个解决我的问题的方法,但我不确定这是否是一个好方法。
对于 report_addresses 方法中的混乱代码,我深表歉意。我确实计划在我重新开始工作后整理它。所以基本上我将很多条件数据库查询移到了葡萄实体(我认为这是这样做的方法,因为葡萄实体会自己进行查询以检索嵌套数据?)。对我的方法的任何建议将不胜感激谢谢:)
这是我的 Grape API 与员工实体的响应
我试图使 GET 请求尽可能灵活,以便您可以将许多选项传递给它。但我不确定这是否是一个好的 RESTFUL 方法。我认为在 ONE Request 中执行此操作而不是在单独的 API 调用中获取嵌套数据是一个很好的解决方案。
inheritance - 葡萄实体和单表继承
假设我有基类“Attachment < ActiveRecord::Base”和 2 个子类“Attachment::Video < Attachment”、“Attachment::Image < Attachment”。
但我想为不同的子类使用不同的实体。Attachment::Video 应该与 API::Entities::AttachmentEntity::Video 等一起出现
葡萄可以吗?
rails-activerecord - 两次引用同一模型时如何使用嵌套曝光?
我有一个联系人模型的葡萄实体,它两次引用用户模型:
当我得到一个提供联系人的端点时,我有以下错误
如何使其在联系人实体中包含邀请者和被邀请者的用户实体?