RailsをAPIとしてJSONをJbuilderで出力しています。
以下のような中間テーブルのある関係で、Blogコントローラからinclude(:blog_tags)
してtagテーブルのtitleカラムの値を取得したいのですが、Jbuilderではどのように書けば良いのかわかりません。
ご教授いただければ幸いです。
Blog
多対多 blog_tags
(中間テーブル) 多対多 Tag
Blogテーブル
id | title |
---|---|
1 | ラーメンの記事 |
2 | ガジェットの記事 |
blog_tags(中間テーブル)
id | blog_id | tag_id |
---|---|---|
1 | 1 | 2 |
2 | 2 | 1 |
Tagテーブル
id | title |
---|---|
1 | 食べ物 |
2 | ガジェット |
ソースコード
blog_controller.rb
ruby
1class BlogController < ApplicationController 2 def index 3 @blog = Blog.includes(:blog_tags) 4 end 5end
/models/blog.rb
ruby
1class Blog < ApplicationRecord 2 has_many :tags, through: :blog_tags 3 has_many :blog_tags 4end
/models/tag.rb
ruby
1class Tag < ApplicationRecord 2 has_many :blogs, through: :blog_tags 3 has_many :blog_tags 4end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。