【发布时间】:2015-03-05 07:37:53
【问题描述】:
我需要以编程方式从 URL 中提取参数,即如果调用 URL,控制器将接收到的哈希值。这不是在控制器内部发生的,而是用于自省工具,因此控制器永远不会运行。我想预测如果控制器运行会发生什么,希望使用 Rails 本身正在使用的相同 API。
例如,给定 Rails 路由 /blogs/:id 和 URL 查询 /blogs/123?published=true,我想提取 { id: 123, published: true }。
使用Rails.application.routes.recognize_path,我可以在此示例中获得id,因为它是路由模式的一部分,但不是额外的CGI 参数(published)。我可以手动添加这些,但我想知道是否有合适的 API。
【问题讨论】:
-
你没有在一个动作中得到所有这些
params吗? -
不,我知道参数的基本知识,但这需要以编程方式完成。更新了问题以澄清这一点。
-
基于您对以下答案的评论?您是否希望将其作为机架应用程序运行?它需要坐在控制器前面吗?它会在生产中运行吗?还是更多地模拟/收集有关该应用程序的元数据?
-
只是收集元数据。它主要用于批处理控制器,它允许调用者将一堆调用复用在一起。
标签: ruby-on-rails ruby-on-rails-4 routes