Ruby on rails rails 3命名路由

Ruby on rails rails 3命名路由,ruby-on-rails,ruby-on-rails-3,routing,routes,Ruby On Rails,Ruby On Rails 3,Routing,Routes,我正在将我的应用程序升级到rails 3。我的老路线是 map.profile 'profile/:login', :controller => 'profile', :action => 'show' 我将此更改为: match 'profile/:login', :to => 'profile#show' 当我输入路径say/profile/red99时,此选项起作用 但当我使用一个通用链接时,如: <%= link_to image.user.login,

我正在将我的应用程序升级到rails 3。我的老路线是

map.profile 'profile/:login', :controller => 'profile', :action => 'show'
我将此更改为:

 match 'profile/:login', :to => 'profile#show'
当我输入路径say/profile/red99时,此选项起作用

但当我使用一个通用链接时,如:

 <%= link_to image.user.login, :controller => "profile", :action => image.user.login %>  
“profile”,:action=>image.user.login%>

“profile”,:action=>当前用户登录%>

我给出了错误No route matches{:controller=>“profile”,:action=>“red99”}

如果要为概要文件指定URL,您仍然需要使用以下参数:

:controller => 'profile', :action => 'show', :login => current_user.login
您没有通过定义该路由来更改
action
参数,您只是通过隐式指定该操作来创建更可读的URL

:controller => 'profile', :action => 'show', :login => current_user.login