Ruby on rails 3 铁路线路问题
我有一个网站,人们可以浏览艺术家和他们的专辑。我已按如下方式设置了我的路线:Ruby on rails 3 铁路线路问题,ruby-on-rails-3,routing,Ruby On Rails 3,Routing,我有一个网站,人们可以浏览艺术家和他们的专辑。我已按如下方式设置了我的路线: match 'albums/[:id]/[:album_id]' => 'albums#show', :as => 'artist_album' 我尝试设置一个嵌套路由,如: resources :artists do resources :albums end 但我不知道如何实现第一个示例中的路由。。。但这是另一个问题。。。这是我在尝试渲染artist\u album\u路径时的代码 <%= l
match 'albums/[:id]/[:album_id]' => 'albums#show', :as => 'artist_album'
我尝试设置一个嵌套路由,如:
resources :artists do
resources :albums
end
但我不知道如何实现第一个示例中的路由。。。但这是另一个问题。。。这是我在尝试渲染artist\u album\u路径时的代码
<%= 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"])}") %>
我不断地发现这个错误:
没有路由匹配{:controller=>“albums”,:action=>“show”,:id=>“/Beastie+Boys/Licensed+To+Ill”}
知道我做错了什么吗?在routes.rb中:
match 'albums/:id/:album_id' => 'albums#show', :as => 'artist_album'
在你看来:
<%= link_to image_tag(...), artist_album_path(:id => ..., :album_id => ...) %>
…,:相册id=>…)%>
谢谢!我尝试了你的答案,但我现在得到了这个错误:没有路线匹配{:controller=>“albums”、:action=>“show”、:id=>“Beastie+Boys”、:album_id=>“Don%27t+Play+No+Game+That+I+Can%27t+Win+%28Feat.+Santigold%29+%28Remix+EP%29”}
。。。出于某些原因,它导致了问题。您可以使用friendly\u id
gem作为路由中的艺术家姓名/专辑标题。friendly\u id gem的唯一问题是项目标题来自API调用而不是DB调用