[英]Ruby on Rails routing for variable controller
我有一个我希望能够重定向到的URL。
类似的东西:
“HTTP://本地主机:3000 /用户名/管理/页”。
我在routes.rb中有一个匹配:
match ':account/admin/:page' => "admin#index"
我有重定向代码:
redirect_to :controller => account.username, :action=>"admin", :page=>"index"
然而,这会产生路由错误:
No route matches {:action=>"admin", :controller=>"sdunn", :page=>"index"}
我知道我所做的是错的,但我怎么能解决这个问题呢?
非常感谢。
路由期待2个参数,第一个是:帐号,第二个是:页面,我认为你只是传递:页面。 我会在你的路线中添加:as =>'some_name',然后使用_path:
的routes.rb
match ':account/admin/:page' => "admin#index", :as => 'my_route'
控制器:
redirect_to my_route_path(@user, @page)
my_route_path可能会有所不同,具体取决于您的确切路由文件,因此请使用
rake routes | grep my_route
要查看确切的名称,然后将_path添加到结尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.