【发布时间】:2013-12-10 20:56:45
【问题描述】:
Gon 与 Jbuilder 配合得很好。特别是,文档告诉像这样使用它
gon.jbuilder template: 'path/to/template.json.jbuilder'
这很好用,但我想缓存模板结果,因此无需重新渲染模板。因此,我使用了render_to_string,如下所示:
gon.entities = Rails.cache.fetch('entities_json') do
JSON.parse render_to_string(template: 'path/to/template.json.jbuilder')
end
该方法返回合适的字符串,我必须通过JSON.parse来传递,否则gon变量存储一个双编码的JSON字符串。这很烦人,但我不知道如何解决它。
不幸的是,这个对render_to_string 的调用导致整个HTML 页面被呈现为一个字符串。 HTML 已完成,gon 变量具有预期值,但突然之间,该页面在 Chrome 中不再显示为 HTML。
知道如何解决这个问题吗?
【问题讨论】:
-
我的回答解决了你的问题吗?让我知道它是否有帮助。 :)
-
@Gjaldon 对我来说看起来不错。我还没有时间研究它。我会尽早给你赏金。
-
@Gjaldon 赏金在时间结束后不会被浪费,在被浪费或自动分配之前,有一个宽限期可以使用赏金。
标签: javascript ruby-on-rails ruby json jbuilder