大脑稍炒....我如何获得的哈希:控制器和:从RELATIVE_PATH行动

这基本上是url_for相反。在下面的例子中,“some_function”是我要找的神秘函数名字......我知道这很容易,只是不记得或似乎能够找到它的文档。

像这样:

some_function('/posts/1/edit')
=> {:controller => 'posts', :action => 'edit', :id => '1'}
有帮助吗?

解决方案

Rspec的有一个方法“params_for”,它利用执行控制器的路由方法来解析与方法路径成路线。

他们的是比这一点更健壮的,但它归结为:

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

其他提示

通过滑轨3的最佳方式是使用

Rails.application.routes.recognize_path('/posts/1/edit')
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top