在我的应用程序routes.rb中,我定义了三个路由,如下所示
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
我是否可以获取特定路径的控制器和操作名称?
我正在寻找像这样的方法......
def current_routes(a)
end
如果我致电:controller => 'users', :action => 'new'
,应该返回current_routes('signup_path')
答案 0 :(得分:3)
试试这个
ActionController::Routing::Routes.recognize_path("/posts/")
如果你的路线只有一个字符串(比如“signup_path”),那么我猜你在上下文中就可以做到这一点
ActionController::Routing::Routes.recognize_path(send("signup_path".to_sym))