我正在尝试实现一个导航栏,当目标URL的控制器等于当前URL的控制器时,高亮显示每个菜单项。
我正在使用内置帮助器Rails.application.routes.recognize_path()
来检索我需要的信息。
但是当我有那些路径被path
属性覆盖的路由时,我遇到了一个问题:
resources :accounts, path: "a", as: "accounts"
呈现以下输出:
Rails.application.routes.recognize_path("/a/1")
=> ActionController::RoutingError: No route matches "/a/1"
使用自动生成的路径,效果很好:
Rails.application.routes.recognize_path("/accounts/1")
=> {:controller=>"accounts", :action=>"show", :id=>"1"}
是Rails中的错误还是我做错了什么?