【发布时间】:2018-10-22 15:59:04
【问题描述】:
在为 Rails 应用程序动态创建路由时,如何知道请求中使用了哪些路径段?
请求的params 哈希包含使用的路径段及其值,但它还包含其他内容。这使得无法知道params 哈希中的哪些键是路径段的键。
示例:以下在我的应用程序中动态创建路由(例如/photos/:photoId):
MyApp::Application.routes.append do
routes.values.each do |route|
get "/#{route['path']}" => 'routes#show'
end
end
有什么方法可以在控制器的操作中检索用于路由的段?
或者,可以将其他参数传递给控制器操作吗?
【问题讨论】:
-
如果我理解正确,您想将请求 url 中的参数(例如,
id等 URL 中的id)与请求参数的其余部分区分开来吗? -
@ldeld 是的。从
request.params,我只想要来自动态路径段的对象。另外,我刚刚发现确实可以将自定义参数传递给控制器操作。
标签: ruby-on-rails routes