Rails 中 url_for 的反义词是什么?一个接受路径并生成解释路径的函数?

发布于 2024-08-20 20:19:49 字数 291 浏览 14 评论 0原文

大脑有点炸了......我如何从相对路径中获取 :controller 和 :action 的哈希值?

这基本上与 url_for 相反。在下面的示例中,“some_function”是我正在寻找的神秘函数名称...我知道这很简单,只是不记得或似乎能够在文档中找到它。

就像这样:

some_function('/posts/1/edit')
=> {:controller => 'posts', :action => 'edit', :id => '1'}

Brain's a little fried....How do I get a hash of the :controller and :action from a relative_path?

This is basically the opposite of url_for. in the example below, "some_function" is the mystery function name I'm looking for...I know it's easy, just can't remember or seem to be able to find it in the docs.

Like so:

some_function('/posts/1/edit')
=> {:controller => 'posts', :action => 'edit', :id => '1'}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪眸﹌ 2024-08-27 20:19:50

Rspec 有一个方法“params_for”,它使用 Action Controller 的路由方法将带有方法的路径解析为路由。

他们的比这更强大一点,但归结为:

def params_for(path, method)
  params = ActionController::Routing::Routes.recognize_path(path, :method => method)
end

Rspec has a method 'params_for', which uses Action Controller's Routing Methods to parse paths with methods into routes.

Theirs is a little more robust than this, but it boils down to:

def params_for(path, method)
  params = ActionController::Routing::Routes.recognize_path(path, :method => method)
end
方圜几里 2024-08-27 20:19:50

对于 Rails 3,最好的方法是使用

Rails.application.routes.recognize_path('/posts/1/edit')

With Rails 3 the best way is to use

Rails.application.routes.recognize_path('/posts/1/edit')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文