问题标签 [rabl]

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.

0 投票
1 回答
195 浏览

ruby - rails : rabl gem,自定义类型转换

我将 Mongo DB 与 Mongoid 一起使用,但同样的事情出现在 Mongo Mapper 中。

我得到以下输出:

我想保持这种干净的语法:

而不是写:

所以在 rabl 的某个时刻,我想捕捉类型来转换它。知道该怎么做吗?

0 投票
1 回答
731 浏览

ruby-on-rails - 用 rabl 处理 2 种不同的类型

我正在对名为位置的表和名为项目的表进行搜索。它们都是短表(2k 项),因此对此查询的性能并不紧张。

我将搜索一个然后另一个,从而将 2 种不同类型的对象作为单个数组返回。有没有办法可以使用 rabl 模板来处理其中任何一种情况。就像是:

谢谢

编辑 #1 试过这个,但不知道这能带给我什么。该数组只是不同对象的列表,不确定展平数组可以实现什么。

0 投票
2 回答
153 浏览

login - 如何使用设计渲染对象的特定属性?

我正在使用 devise gem,一切正常,但问题是登录后呈现整个用户对象。因此,如果我发送一个 json 请求进行登录,它将返回用户对象拥有的所有内容,我可以在注册期间使用 rabl 文件限制特定属性。我所做的只是在视图/设计/注册中创建了一个 create.rabl。但同样的事情不适用于登录。那么我如何使用设计来限制资源属性。

0 投票
1 回答
364 浏览

ruby-on-rails - Rabl 返回字符串 Rails

在我的控制器中,我有

我想回复:

"response" => @response ,如何在 Rails 中使用 Rabl?

0 投票
1 回答
3433 浏览

ruby-on-rails - 多个子模型和嵌套 RABL——在 HTML 中工作

我正在尝试使用 RABL 为以下 index.html.erb 文件构建 JSON 输出:

在这一点上,我已经尝试了一百万种不同的方法,我希望有人可以帮助我为 index.json.rabl 文件生成代码,因为我完全被卡住了。

0 投票
1 回答
949 浏览

ruby-on-rails - HAML 阻止模板引擎呈现 HTML 以外的任何内容

我正在使用 Jbuilder(我也尝试使用 Rabl)来渲染 json。当我尝试在我的应用程序中呈现 jbuilder 模板时,它会在布局/应用程序文件中呈现模板并将HTML作为 JSON 返回(参见“在布局/应用程序内”行):

Github 上的骑行控制器

但是,当我在没有模板的情况下渲染 json 并进行render json: @ride.as_json调用时,事情会按预期工作。当我创建一个新应用程序并尝试做同样的事情时,一切都按预期工作:

我不知道我对我的应用程序做了什么,它没有正确呈现模板。有任何想法吗?

0 投票
2 回答
1110 浏览

ruby-on-rails - 如何提高单页应用的性能?

简介我有一个(大部分)用 BackboneJS 和 Rails 后端构建的
单页应用程序。

因为大部分交互发生在 webapp 的一个页面上,当用户第一次访问该页面时,我基本上必须在一个大型深度连接查询中从数据库中提取大量信息。

这导致我在这一页上的加载时间相当长。

加载时间

NewRelic 似乎在告诉我,我的大部分问题是由于 457 个单独的快速方法调用造成的。

快速方法调用

现在我已经完成了我能做的所有急切加载(我检查了Bullet gem),但我仍然有问题。

这些方法调用很可能发生在我的Rabl序列化程序中,我用它来序列化一堆 JSON 以嵌入到页面中以初始化 Backbone。您不需要了解所有这些,只要说它可以添加多达 457 个方法调用就足够了。

所以看来我需要对此做点什么,但我不确定要采取什么方法。这是我有的潜在想法的列表:

绩效改进思路

简化界面
也许我可以想出一些方法来向用户展示不需要实际数据的信息。我不明白为什么我绝对需要这样做,其他单页应用程序(例如Trello )具有非常复杂的界面。

概念分页
如果我对概念进行分页,它将减少每次从数据库中提取的数据量。虽然会产生劣质的用户界面。

缓存
目前,刷新页面只是将整个搜索再次从数据库中提取出来。也许我可以缓存应用程序的某些部分以减少数据库命中。这看起来很混乱,因为我处理的数据不是很多是静态的。

多个请求
在不将 JSON 嵌入页面的情况下提供页面在技术上是不好的,但如果我加载未填充的页面然后获取数据,用户可能会觉得事情发生得更快。

索引
我应该确保我的所有外键都有索引。我还应该尝试考虑在哪些地方有索引(例如收藏夹?)并添加它们会有所帮助。

将方法调用移动到数据库
中 也许我可以将我在视图层中所做的一些迭代结果缓存到数据库中,然后将它们拉出来而不是计算它们。或者我可以在写入而不是读取时同步内容。

问题
有人对我应该把时间花在什么方面有任何建议吗?

0 投票
0 回答
142 浏览

rabl - 使用 RABL 为数组 xml 元素起别名

我正在尝试创建 xml 输出以匹配旧系统的输出,但我不确定如何让我的 xml 匹配。我基本上需要将数组元素节点名称重命名为不同于默认值的名称。

鉴于我有一个看起来像这样的模型:

还有一个 RABL 模板:

我希望 xml 看起来像这样:

而不是默认情况下出现的这个:

我是 RABL 的新手,我在 docs/interwebs 中找不到任何关于如何生成这样的东西的东西。提前致谢!

0 投票
1 回答
3791 浏览

ruby-on-rails-3 - 使用 rabl 和集合,无法添加额外的子节点

我有一系列想在我的 json 响应中显示的文章。我还想导出一个关于所询问的 json 请求类型的节点。

index.json.rabl

显示.json.rabl

所以去articles.json给了我:

我想做的是得到这样的结果:

我尝试将 node(:rss) { "yadda yadda" } 放在 index.json.rabl 文件中,但这只会将 node :rss 添加到每篇文章中。

我尝试使用

在索引和显示文件中,都没有像我希望的那样工作。

我已经尝试了很多其他的东西,但在这一点上我现在只是猜测。

0 投票
1 回答
2334 浏览

ruby-on-rails-3 - 如何将对象从 rake 任务传递给 rabl 视图

我正在尝试使用 rabl 从 rake 任务创建一个 json 文件。下面我有简化版本进行测试。

当我通过 url 查看“articles.json”或“articles/2.json”时,我得到了预期的 json 响应。

但是当我尝试通过 rake 任务运行它时,在创建的 jsonFile 中,@articles 总是有一个空值。它将以与@articles.count 相同的次数呈现 index.json.rabl 视图,但值始终为空。

那么如何将在我的 rake 任务中创建的 @articles 对象传递给 Rabl.render?

index.json.rabl

显示.json.rabl

出口.rake