2017-08-13 15 views
0

私は2つのモデル、アーティストと歌を持っています。各アーティストhas_many曲。私は、歌とアーティストの両方を含む曲のためのパスをURLに書きたいと思っています。2つのキーを含むパスを書き込む方法は?

私のルートは:get 'songs/:artist/:id' => 'songs#song', as: 'song'

例えば、 "ジョン・レノン" による "イマジン" のURLが/songs/John%20Lennon/Imagineだろう。

そのURLは正常に動作します。私が理解できないことは、そのパスを書く方法です。これらは動作しません:

song_path(song: "Imagine", artist: "John Lennon") 
song_path("John Lennon", "Imagine") 

誰でも正しい構文が分かりますか?

答えて

1

Rails 5を使用していますか? resource_pathはRails 5で廃止予定です。まだ使用できますlink_to "song title", song_path(artist: "John Lennon", id: "Imagine")

また、オプション1でキー "song"を渡し、 "id"でルートを定義することに注意してください。

関連する問題