Ruby on rails Rails API:如何确定触发了哪些操作和路由,从而导致调用特定控制器?

Ruby on rails Rails API:如何确定触发了哪些操作和路由,从而导致调用特定控制器?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的railsapionly应用程序中有多个引擎。每个都有自己的路由和一组控制器 如何确定触发控制器中的方法/操作的路由和操作 关于这个问题的更多细节,请告诉我 注意:我希望在控制器内部以编程方式确定它,而不是从应用程序外部确定它。在项目目录中确定它 rake routes Prefix Verb URI Pattern Controller#Action Named Helper articles GET /

我的
railsapi
only应用程序中有多个引擎。每个都有自己的路由和一组控制器

如何确定触发控制器中的方法/操作的路由和操作

关于这个问题的更多细节,请告诉我


注意:我希望在控制器内部以编程方式确定它,而不是从应用程序外部确定它。

在项目目录中确定它

 rake routes 
   Prefix      Verb    URI Pattern                  Controller#Action  Named Helper

   articles     GET    /articles(.:format)           articles#index   articles_path or articles_url
这将获取应用程序中的所有路由

   Prefix      Verb    URI Pattern                  Controller#Action  Named Helper

   articles     GET    /articles(.:format)           articles#index   articles_path or articles_url

示例:URI“/articles”将查找ArticlesController的索引操作

使用
rake routes
显示应用程序识别的所有路线。使用
grep
按控制器或操作名称进行筛选

rake routes | grep users

其中,
用户
只是一个示例控制器名称。

从路由和名称空间中不清楚吗?你可以通过url猜到它,或者在Web服务器日志中找到它。你所说的“路由和动作”是什么意思?它的路径和HTTP动词?你能举个例子吗?我们知道配置中定义的路由映射到控制器及其功能,对吗?我想在控制器本身中确定哪个路由调用函数(动作)及其动词(如果可能)。请描述确切的问题?听起来您已经失去了对应用程序的控制,现在正拼命尝试通过识别哪个控制器执行什么任务来重新获得它。我猜你把整个应用程序逻辑搞砸了-)看看它可能会对你有所帮助。这只是我在这里尝试做的一个poc。无论这里的做法是好是坏,我只是想弄清楚应用程序控制器的对象是否具有当前路由信息?我将用这个实现什么?自定义服务级别授权,仅通过元数据运行,但情况完全不同。一步一步地。感谢您的关注,我希望在控制器内部以编程方式确定它,而不是从应用程序外部。我希望在控制器内部以编程方式确定它,而不是从应用程序外部。您期望结果如何,或者您所说的“哪条路线”是什么意思。您想在
routes.rb中输入行号吗?