[英]Get current path name in Rails
我希望能够在 Ruby on Rails 的请求中获取当前路由的名称。 我找到了访问控制器和请求操作的方法,但我想访问名称的字符串或符号。
例如,如果我有一个users
资源;
users_path
edit_users_path
我只是想在给定的请求中检索当前路由的名称。
下面的代码会给你。
Rails.application.routes.recognize_path(request.request_uri)
请注意,在ActionDispatch::Routing::RouteSet
(这是从Rails.application.routes
返回的Rails.application.routes
)中可能会抛出一些异常,因此请注意这些异常。 您可以在此处找到该方法的实现。
您可以使用以下方法在您的操作中获取当前 url,但它们都不会像users_path
那样为您提供路由名称
request.original_url # => www.mysite.com/users/1
request.request_uri # = > /users/1
我不得不使用request.original_fullpath
(Rails 5.2)
你可以用current_page?
方法来实现这一点。
current_page?(user_path(@user))
current_page?(edit_user_path(@user))
这是一个链接: current_page? 方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.