如何在 jbuilder 中按数据分隔模板
How can I separate templates by data in jbuilder
我想用jbuilder做如下数据
我怎样才能让jbuilder分离?
data: [{
type: "top"
logo: "logo.png"
title: "title"
},{
type: "nav"
background: "bg.png"
content: "<div> Welcome </div>"
},{
type: "footer"
content: "Copyright: xx"
}
]
我是那样做的,但是做不到运行
data.jbuilder
json.set! :result do
json.array! data do |item|
case item.type
when 'top'
json.partial! '_top', item: item
when 'nav'
json.partial! '_nav', item: item
when 'footer'
json.partial! '_footer', item: item
else
return nil
end
end
_top.jbuilder
json.logo item.logo
json.title item.title
_nav.jbuilder
json.background item.background
json.content item.content
_footer.jbuilder
json.content item.content
我该如何解决这个问题?
当你调用 partials 时,不需要 _
如果它在不同的文件夹中,你只需提供路径;如果在同一文件夹中,则提供名称。
尝试
json.partial! 'top', item: item
json.partial! 'nav', item: item
json.partial! 'footer', item: item
我想用jbuilder做如下数据
我怎样才能让jbuilder分离?
data: [{
type: "top"
logo: "logo.png"
title: "title"
},{
type: "nav"
background: "bg.png"
content: "<div> Welcome </div>"
},{
type: "footer"
content: "Copyright: xx"
}
]
我是那样做的,但是做不到运行
data.jbuilder
json.set! :result do
json.array! data do |item|
case item.type
when 'top'
json.partial! '_top', item: item
when 'nav'
json.partial! '_nav', item: item
when 'footer'
json.partial! '_footer', item: item
else
return nil
end
end
_top.jbuilder
json.logo item.logo
json.title item.title
_nav.jbuilder
json.background item.background
json.content item.content
_footer.jbuilder
json.content item.content
我该如何解决这个问题?
当你调用 partials 时,不需要 _
如果它在不同的文件夹中,你只需提供路径;如果在同一文件夹中,则提供名称。
尝试
json.partial! 'top', item: item
json.partial! 'nav', item: item
json.partial! 'footer', item: item