【问题标题】:How to compose different json jbuilder views?如何组合不同的 json jbuilder 视图?
【发布时间】:2014-01-18 18:10:05
【问题描述】:

假设我在 Rails 4 中有 LibraryBook 模型。

我还有一个 book.json.jbuilder 文件,它定义了 Book 应该如何在 json 中呈现。

我如何告诉 library.json.jbuilder 重用 book.json.jbuilder 来渲染书籍 json 而不是复制代码?

#library.json.jbuilder example
json.(@libraries) do |library|
    json.id library.id
    json.name library.name
    # instead of the line below, is it possible to tell jbuilder 
    # to render books using book.json.jbuilder?
    json.books library.books, :title, :author 
end

【问题讨论】:

    标签: ruby-on-rails json jbuilder


    【解决方案1】:

    这可以使用分部来实现。

    请参阅下面的示例,其中包含 _book.json.jbuilder 和 _library.json.jbuilder 部分。

    更多文档在这里:https://github.com/rails/jbuilder

    # books/_book.json.jbuilder
    json.id book.id
    json.title book.title
    json.author book.author
    
    # books/index.json.jbuilder
    json.array! @books, partial: 'books/book', as: :book
    
    # libraries/_library.json.jbuilder
    json.id library.id
    json.title library.name
    json.books library.books, partial: 'books/book', as: :book
    
    # libraries/index.json.jbuilder
    json.array! @libraries, partial: 'libraries/library', as: :library
    

    【讨论】:

      猜你喜欢
      • 2017-11-08
      • 1970-01-01
      • 2018-11-28
      • 2012-04-25
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      相关资源
      最近更新 更多