问题标签 [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 回答
142 浏览

ruby-on-rails - 将 Rails 2.3.2 升级到 Rails 2.3.14

我被赋予了一个相当大的遗留 Rails 2.3.2 应用程序的责任,并且我被要求向这个以 JSON 格式输出数据的应用程序添加一个相当复杂的 RESTful API。

经过研究,我得出的结论是,考虑到 API 调用的性质,使用 RABL gem 可能是最好的计划。但是,我看到 RABL 的依赖项需要 ActiveSupport 2.3.14。

现在,我假设我不能让 ActiveSupport 2.3.2 和 ActiveSupport 2.3.14 都在同一个应用程序中工作,如果我理解正确,如果我升级 ActiveSupport,那么我需要升级其余的 Rails 包由于依赖要求。

谁能告诉我 Rails 2.3.2 和 Rails 2.3.14 之间的区别,或者我可以在哪里找到这些信息,以便我了解我是否可能会破坏某些现有功能?

或者,如果两个版本的 Rails 之间存在一些严重差异,任何人都可以推荐 RABL 的替代品吗?我看过很多其他的,例如 Jsonify、JBuilder、Tequila 等,但 RABL 真正吸引人的是它通过视图而不是像其他一些控制器那样在控制器中构造响应。

0 投票
1 回答
317 浏览

rspec - Rails 3.2.8 + FactoryGirl + RABL:日期时间返回方式的差异

我有以下工厂:

和以下规格:

现在,除了 :created_at 和 :updated_at 字段之间的比较之外,所有内容都按预期工作(没有双关语)。

我从运行规范中得到的错误如下:

如您所见,响应正文中的 created_at 和 updated_at 的表示方式与 FactoryGirl 返回的内容不同。

我显然在这里错过了什么?

在此先感谢您的帮助

0 投票
1 回答
423 浏览

ruby-on-rails - 使用 Rails3 和 Rabl 将 JSON 嵌入 HTML

我正在关注#322 RailsCasts,在最后一部分中,他评论了一种将 json 嵌入 html 的方法

在我的项目中,我有一个 rabl 模板:app/views/places/show.json.rabl

如果我渲染 /places/21.json 它显示:

很好,但如果我尝试将 json 数据嵌入到 html 中,我会这样做:

错误日志

缺少带有 {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :rabl]} 的模板 places/21.json。搜索:*“/home/ed/projects/rails_projects/final_u/app/views”

我究竟做错了什么?

更新

我刚刚找到了解决方案

它有效,但我不知道为什么..这里我还有另一个问题

有一种方法可以将单个对象传递给 render(template: "") ??

提前谢谢....对不起我的英语

0 投票
1 回答
1426 浏览

ruby-on-rails - 在 RoR 3 中将对象传递给渲染(:template => "template.json.rabl")

我需要将 json 嵌入到 html 中,并且在#322 RailsCasts中说明了使用RABL的方法......

这是我的 rabl 模板

它工作正常,但我想在其他视图中呈现 rabl 模板,例如:

它显示下一条消息错误

nil:NilClass 的未定义方法“type_place”

从消息中我认为错误是我没有将对象位置传递给模板......我尝试了很多但我没有得到这个。

提前谢谢,对不起我的英语

0 投票
2 回答
3797 浏览

ruby-on-rails - Rabl、Jbuilder 还是为 api 手动构建 json?

要为大型应用程序构建 api,哪种方法在性能方面更好,我应该使用 Rabl、Jbuilder 还是手动构建 json 对象?我正在为移动应用程序构建 api /endpoints。

0 投票
0 回答
167 浏览

ruby-on-rails - 将 RABL 模板与服务器端把手一起使用

我们在 Rails 项目中使用把手(带有 sht_rails)用于客户端和服务器端模板。为了提供客户端模板,我们使用提供 JSON 数据的 RABL 模板。我们希望在服务器端使用具有相同数据的相同模板,但服务器端模板需要散列而不是 JSON 字符串。

作为一种临时解决方案,我们使用render_to_string生成 JSON 数据然后JSON.parse获取哈希,但它似乎很难看......有没有更好的方法来使用 RABL 模板呈现哈希?

我已经尝试过github 上描述的解决方案,但没有成功。我们使用object falsein out 模板,所以我不知道要传递给Rabl::Renderer#new. 此外,我们使用了一些特定于 RoR 的方法(如root_url),但它们似乎失败了。

0 投票
1 回答
879 浏览

ruby-on-rails - RABL 将 ActiveRecord 时间戳或日期时间呈现为数字而不是字符串

我目前正在从 ActiveRecord 切换as_json到 RABL 以生成 API。

as_json一直在我的模型中将时间戳呈现为格式的字符串2012-09-16T22:14:11+00:00。然而,当我切换到 RABL 时间戳开始呈现为像纪元一样1347926218.084763000(注意这些日期来自两个不同的对象,不应该是相等的)。有没有办法强制字符串格式?

我的 .rabl 模板非常简单:

我得到:

0 投票
2 回答
476 浏览

ruby-on-rails - 将 Rabl 转换为 Erb json 视图

我正在尝试将此 .json.rabl 视图转换为 .json.erb 并且由于我对 ruby​​ 非常陌生,因此我正在寻找实现这一目标的方向。解决此问题的最佳方法是什么?

p>

0 投票
5 回答
1510 浏览

ruby-on-rails - Rabl 1+N 查询和缓慢的视图加载

我们有一个 Rabl 视图,它由带有嵌套子级的 Rails 动作提供支持,结构如下:

这意味着我们的 rabl 视图可能看起来像这样:

这非常有效,除了 Rabl 执行一个新查询来加载每个 bar 对象以及每个 baz 对象(最多有 7 个 baz 对象)。生成原始集合的查询需要不到 100 毫秒的时间返回,但总渲染时间需要 8 秒以上,并且每条foo记录包括大约 30 个额外的查询。我已经尝试使用includes语法来预加载关联的行,这样 Rabl 就不需要重新加载它们,但它似乎只是忽略了发送的信息。

我正在寻找关于如何优化此操作的想法,以便我们可以从中获得最佳性能。我不太确定从这里攻击的正确方法是什么。

提前致谢。

0 投票
1 回答
1229 浏览

ruby-on-rails - json 对象中的 rabl 包装集合

我正在使用 RABL 生成 JSON 响应。我无法实现以下结构:

我有一个包含媒体数组的@artices对象。我有 rabl 配置设置,例如:

到目前为止,我的 .rabl 模板如下所示:

我无法在此结构中添加媒体信息。

任何帮助表示赞赏