问题标签 [jbuilder]
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 - How can I create this JSON structure with JBuilder and Rails?
TL;DR: How can i use jbuilder to create JSON that looks like this?
Longer version:
I am trying get pagination working with Backbone.js and backbone-pageable https://github.com/wyuenho/backbone-pageable .
Backbone-pageable requires that the JSON returned be formatted such that it's an array of two objects. The first object is a regular object containing pagination control information. The second object should be an array of your actual data formatted as Backbone would normally expect. These expectations are hard coded into backbone-pageable's parse methods (source)
It seems weird to have an array of un-like items but for this use case it seems acceptable.
For json i've used rabl in the past but for science I'm trying to use jbuilder and I've gotten this far...
JSON structure (wrong):
Using this code:
Closer, but still very wrong :/
Thank you
ruby-on-rails - 使用 JBuilder 漂亮地打印 JSON
我使用 JBuilder 作为 JSON DSL。我让它正常工作,但无法弄清楚如何漂亮地打印 JSON。
我想使用 JSON.pretty_generate 但这需要一个字符串或一个哈希,而 JBuilder 是一个不转换的自定义 JBuilder 对象。
任何想法如何使用 JBuilder 模板漂亮地打印 JSON?
ruby-on-rails - 如何在 JBuilder 中组合多个模型?
我需要的结构是:
如何使用 JBuilder 构建这个结构?对于渲染数组,他们有数组!方法,它接受一个参数 - 集合。但我有不止一个收藏。为什么这么复杂?
ruby-on-rails - Rails jbuilder DateTime将小数添加到秒
我正在使用 JBuilder 来呈现我的应用程序的 JSON API 部分的视图。我遇到的问题是我的 DateTimes 是这样呈现的:
“2013-07-02T17:03:18.000Z”
...当我真正想要的是:
“2013-07-02T17:03:18Z”
我不确定这些小数是从哪里来的......
我以典型的 JBuilder 方式渲染该字段:
我的应用程序中有一个日期格式初始化程序:
但是,这似乎不会影响 JBuilder,这很好。我想要来自我的 API 的 ISO8601 格式。顺便说一句,我在 Rails 4.0.0 final 上。
ruby-on-rails - 使用 jBuilder 创建自定义数组
我正在尝试使用 jBuilder 构造一个自定义数组,这是我的 javascript 函数所需的结构。在这种情况下,它们只是数组中的 1 个对象。我知道该array!
方法,但这需要使用集合。如何强制 jbuilder 围绕对象包装数组?我正在寻找的结构如下所示:
ruby-on-rails - 查看特定模型上的 JSON 错误
我有一个名为的模型Entity
,控制器中的创建操作如下所示:
我将 jbuilder 用于自定义 JSON 视图而不是渲染@entity.to_json
,效果很好。我有最后一个问题,即当模型由于验证错误而无法保存时,我得到以下响应(带有 status 422 Unprocessable Entity
):
{"errors":{"parent_share":["can't be blank","is not a number"]}}
我想用我自己的覆盖这个json。我知道他有可能替换respond_with @entity
为:
但是不应该通过定义某种错误视图或其他东西来获得更自动的魔术方式吗?这感觉有点脏,这让我每次需要它时都必须编写更多代码,而不是让我使用respond_with
. 还有其他方法吗?
ruby-on-rails - 如何在 jbuilder 视图中返回空字符串而不是 null?
我有简单的 jbuilder 视图
什么时候pharmaceutic.dosage => nil
我渲染的 json 如下所示:
我想为所有 jBuilder 视图设置,当某个属性存在时,nil
它应该呈现为空字符串。
如何做到这一点?
ruby-on-rails - 模型属性的 JBuilder 动态键
我正在尝试构建一个 JSON 文件以通过变体代码访问产品的变体。理想情况下,我可以调用variations.abcdefgh 本质上要求定义这样的结构:
在 products/show.json.jbuilder 中做一些事情,比如
给我这样的格式:
也许我的 JavaScript 可能会更好,但我想要一些基于 product_code 的更易于访问的东西。我得到的最接近的是
但我还没有找到一种解决方案,可以将这些正确格式化的对象作为子对象放入变体属性中。有人遇到过类似的事情吗?
ruby-on-rails-3.2 - 附加到现有/空白数组
我有以下控制器操作,它返回当前用户的收件箱消息(我正在使用邮箱):
这会在 jbuilder 启动时呈现 json 响应:
请注意由 current_user 构建的最后 3 个 json 值,这是我的 application_controller 中声明的辅助方法。我在这里有两个问题:
1)虽然这种方法可行,但最好将 current_user 值从数组中取出。如果我只是将它们移出块,我会收到以下错误:
TypeError(无法将字符串转换为整数)
2) 如果 current_user 在其收件箱中没有对话,则数组将为空(@conversations 为空白),因此不会传递 current_user 值。
回顾一下:我可以将 current_user 值附加到现有数组,我可以将 current_user 值附加到空数组吗?
heroku - 在 Heroku 上使用 Dalli 缓存 Jbuilder 的片段
我正在尝试将片段缓存与 Jbuilder 一起使用,因为其中一个视图需要相当长的时间来渲染(只有视图渲染可能需要 2500 毫秒+
请注意,这在其他调用中确实有效,但这个似乎不起作用,我不知道为什么。第二:这适用于我的本地机器,但在 heroku 中失败。
这是heroku中的错误:
这是我尝试使用片段缓存的简单部分:
和产品部分:
- 请注意, app_style 部分在任何地方都可以使用,并且可以与其他缓存视图一起使用