Rails路由问题

时间:2011-10-10 15:26:44

标签: ruby-on-rails-3 routing

我在网站上有人可以浏览艺术家及其专辑。我设置了我的路线:

match 'albums/[:id]/[:album_id]' => 'albums#show', :as => 'artist_album'

我尝试设置一个嵌套路线,如:

resources :artists do
resources :albums
end

但我无法弄清楚如何在第一个示例中实现路由...但这是一个不同的问题......这是我尝试渲染时的代码artist_album_path

<%= link_to image_tag("#{album["Images"]["Album150x150"]}", width: "122", alt: "#{@term}", class: "float-left"), artist_album_path("/#{CGI::escape(album["Artist"]["Name"])}/#{CGI::escape(album["Title"])}") %>

我一直收到这个错误: No route matches {:controller=>"albums", :action=>"show", :id=>"/Beastie+Boys/Licensed+To+Ill"}

对我做错了什么的想法?

1 个答案:

答案 0 :(得分:1)

在routes.rb中:

match 'albums/:id/:album_id' => 'albums#show', :as => 'artist_album'

在您看来:

<%= link_to image_tag(...), artist_album_path(:id => ..., :album_id => ...) %>