在我的rails 3.2应用程序中,我使用jbuilder来呈现来自我的JSON API的响应。使用Jbuilder(或其他)的Rails JSON API布局
我想为所有API响应提供一个通用结构,并且布局可能是保持视图干爽的可能解决方案。
)(我想每个响应是以下形式的:
{
status: "ok|error|redirect",
data: { ... JSON specific to the current view ... },
errors: [ ... ],
notes: [ ... ]
}
(其中为数据的值是由视图提供的JSON结构,其他一切都是从布局)
但是:我无法正确地得到jbuilder布局屈服于视图。
# in layout
json.data yield
# in view
json.some "value"
结果:
{"data":"{\"some\":\"value\"}"} # arg! my json has become a string
尝试新事物的另一种方式:
# in layout
yield
# in view
json.data do |json|
json.some "value"
end
结果:
{}
任何人都有成功与JBuilder中这样做,或其他json模板宝石/方法?
这juilder github issue暗示这是可能的,但表明其他人有类似的问题。
我看到rabl(https://github.com/nesquena/rabl/)应该支持布局(https://github.com/nesquena/rabl/wiki/Using-Layouts),但我已经因为其他原因决定不使用它(rabl使复杂的json结构成为一场噩梦,特别是在试图控制对象根等时)。
我喜欢你的这个打算但似乎有点浪费,解析JSON只是吐了一口气直接回来了 – 2014-06-09 18:31:02