0

我有兩個簡單模型嵌套協會:導軌5 - 包括不工作

  1. note.rb

:title -> string, :content -> string has_and_belongs_to_many :tags, join_table: :tags_notes accepts_nested_attributes_for :tags

  • tag.rb
  • :name -> string has_and_belongs_to_many :notes, join_table: :tags_notes

    兩種型號都通過has_and_belongs_to_many關係連接。 如上所述,關聯表被稱爲tags_notes。 好了,我這裏的問題是,在我的REST風格的控制器,讓筆記,我有這樣的:

    GET /api/notes 這隻退貨注意對象:

    [ 
        { 
         "id": 1, 
         "title": "12231", 
         "content": "121213" 
        }, 
        { 
         "id": 2, 
         "title": "test", 
         "content": "testtest" 
        } 
    ] 
    

    然而,每一個音符都有tags,我想那些傾倒在響應爲好,像這樣:

     [ 
         { 
          "id": 1, 
          "title": "12231", 
          "content": "121213", 
          tags: [ 
           { 
           "name": "test", 
           "id": 1 
           }, 
           { 
           ... 
           } 
          ] 
    
         }, 
         ... 
        ] 
    

    在我的控制,我試過 Note.includes(:tags)

    電流控制器代碼: def index notes = Note.includes(:tags) render json: notes, status: :ok end

    他們似乎只返回notes,沒有tagsNote.eager_load(:tags)的情況也是如此我做錯了什麼?無法找到足以幫助我解決此問題的文檔。 如果有人能幫助我,我將不勝感激。

    謝謝你一堆。

    回答

    2

    發佈我的問題後不久,我自己找到了答案。該includerender.

    去所以控制器代碼

    def index 
        notes = Note.all 
        render json: notes, :include => :tags, status: :ok 
        end 
    

    似乎做的伎倆!