解決したいこと
Ruby on Railsで投稿型のアプリを作っています
アーティストページで、関係する全てのジャンル名を表示したいのですが、中間テーブルを通してうまくデータを引っ張る事ができません。解決方法を教えてほしいです。
ER図
発生している問題・エラー
NoMethodError in Admin::ArtistsController#show undefined method `genre' for #<ArtistGenre::ActiveRecord_Relation:0x00000000044fa5e8>
エラーが起きたコード
ruby:エラー
@genres = @artist_genre.genre
該当するソースコード
ruby:model
class Artist < ApplicationRecord has_many :artist_genres, dependent: :destroy has_many :genres, through: :artist_genresend
ruby:model
class Genre < ApplicationRecord has_many :artist_genres, dependent: :destroyend
ruby:model
class ArtistGenre < ApplicationRecord belongs_to :artist belongs_to :genreend
ruby:controller
class ArtistsController < ApplicationController def show @artist = Artist.find(params[:id]) @artist_genre = ArtistGenre.where(artist_id: @artist.id) @genres = @artist_genre.genre end
ruby:view
ジャンル <% @genres.each do |genre| %> <%= @genre.name %><% end %>
よろしくお願いします
0 コメント