私はRailsには新しいので、私はこれをできるだけ説明しようとしています。ビューのために1つのコントローラで2つのモデルを相互に依存して呼び出す
私は三つのモデルがあります、アーティストを催し、そして
アーティストが唯一のIDとARTIST_NAME
フェストだけIDとfestival_name
festival_artistは、ID、artist_id、およびfestival_idが含まれている含まれているが含まれていますfestival_artist
私は足場を使用してFestを作成しました。これは、私のコントローラとshow.html.erbの場所です。私が持っている私のfests_controller.rbで
class Artist < ApplicationRecord
belongs_to :festival_artist
end
class Fest < ApplicationRecord
belongs_to :festival_artist
end
class FestivalArtist < ApplicationRecord
has_many :artists
has_many :fests
end
:以下
は私のモデルです未定義のメソッドをスローしかしdef show
@festival_artists = FestivalArtist.where(festival_id: @fest.id)
@artists = Artist.where(id: @festival_artists.artist_id)
end
を、:
def show
@festival_artists = FestivalArtist.where(festival_id: @fest.id)
end
私が追加しようとしました#エラーのartist_id。
目標は、アーティストが所属するフェスティバルのFestのshow.html.erbページにアーティストの名前を表示することです。 SQLで
それは次のようになります。
SELECT A.artist_name
FROM festival_artists AS FA
INNER JOIN artists AS A
ON FA.artist_id = A.id
任意の提案ですか?私の専門用語が正しいかどうかわからないので、Googleに何を助けてくれるのか教えてください。
これ以上情報が必要な場合は教えてください。
ありがとうございます!それはうまくいった。FestivalArtistクラスを変更して単数にする必要がありましたが、それ以降は機能しました。私はその記事をさらに読む予定です。 – Austin