Rails中有一种很棒的方法可以为视图模板渲染一组对象,它可以作为研究员使用:
<%= render @restaurants %>
它会自动寻找一个名为_restaurant.html.erb
的部分,循环收集,将单个对象传递给部分,然后渲染它。这太棒了。
现在,我在jbuilder
gem中寻找一种非常相似的方式。
_restaurant.json.jbuilder
json.(restaurant, :id, :name, :address, :latitude, :longitude)
现在,对于@restaurants
,我如何以与Rails中的视图模板相同的方式使用此部分?目前,我采用以下方式渲染集合:
json.restaurants @restaurants do |restaurant|
json.partial! restaurant
end
答案 0 :(得分:3)
好的,所以我认为您正在寻找以下内容:
json.partial! :restaurant, collection: @restaurants
答案 1 :(得分:0)
我能找到的最短的
json.restaurants @restaurants, partial: 'restaurants/restaurant', as: :restaurant
...但是实际上并不太像渲染视图部分(在日志中仍然显示为多个渲染),我不喜欢在一行代码中使用“ restaurant”一词5次