我有两个模特,艺术家和歌曲。每位艺术家都有很多歌。我想为歌曲写一个路径,其中包括歌曲中的歌曲和艺术家。
我的路线:get 'songs/:artist/:id' => 'songs#song', as: 'song'
例如,“约翰列侬”的“想象”网址为/songs/John%20Lennon/Imagine
。
该网址正常。我无法弄清楚的是如何为它写一条路径。这些不起作用:
song_path(song: "Imagine", artist: "John Lennon")
song_path("John Lennon", "Imagine")
任何人都知道正确的语法吗?
答案 0 :(得分:1)
您使用的是Rails 5吗?在Rails 5中不推荐使用resource_path
。您仍然可以使用link_to "song title", song_path(artist: "John Lennon", id: "Imagine")
另外,请注意您在选项1中传递了“歌曲”键,并使用“id”定义了路线。