如何编写包含两个键的路径?



我有两个模型,艺术家和歌曲。每位艺术家has_many歌曲。我想为歌曲编写一个路径,在网址中包含歌曲和艺术家。

我的路线:get 'songs/:artist/:id' => 'songs#song', as: 'song'

例如,"约翰列侬"的"想象"的网址将是/songs/John%20Lennon/Imagine

该网址工作正常。我无法弄清楚的是如何为它编写路径。这些不起作用:

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

有人知道正确的语法吗?

你使用的是 Rails 5 吗?resource_path在 Rails 5 中已弃用。您仍然可以使用link_to "song title", song_path(artist: "John Lennon", id: "Imagine")

另外,请注意,您在选项 1 中传递了键"song",并使用"id"定义路由。

相关内容

  • 没有找到相关文章

最新更新