imbriquées j'ai deux modèles simples:Rails 5 - comprennent des associations qui ne travaillent pas
- note.rb
avec
:title -> string, :content -> string has_and_belongs_to_many :tags, join_table: :tags_notes accepts_nested_attributes_for :tags
- tag.rb
avec
:name -> string has_and_belongs_to_many :notes, join_table: :tags_notes
Les deux modèles sont reliés par rapport has_and_belongs_to_many
. La table d'association est appelée tags_notes
comme indiqué ci-dessus. Eh bien, le problème que j'ai ici, dans mon contrôleur RESTful, pour obtenir des notes, j'ai ceci:
GET /api/notes
Cela ne renvoie des objets:
[
{
"id": 1,
"title": "12231",
"content": "121213"
},
{
"id": 2,
"title": "test",
"content": "testtest"
}
]
Cependant, chaque note a tags
, et je voudrais jeter ceux dans la réponse aussi bien, comme ceci:
[
{
"id": 1,
"title": "12231",
"content": "121213",
tags: [
{
"name": "test",
"id": 1
},
{
...
}
]
},
...
]
dans mon contrôleur, j'ai essayé Note.includes(:tags)
.
Code contrôleur actuel: def index notes = Note.includes(:tags) render json: notes, status: :ok end
Ils ne semblent revenir notes
, sans tags
. C'est le cas avec Note.eager_load(:tags)
Qu'est-ce que je fais mal? Je ne trouve pas assez de documentation pour m'aider à résoudre ce problème. Si quelqu'un peut m'aider avec cela, je serai reconnaissant.
Merci beaucoup.