微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 如何确定给定URL字符串的Controller类

在Rails控制器或视图的范围内:
如何查询Rails路由机制以将相对url字符串(例如“/ controllername / action / whatever”)转换为负责处理该请求的控制器类?

我想做这样的事情:

controllerClass = someMethod("/controllername/action/whatever")

contorllerClass是Class的一个实例.

我不想对路由约定做任何假设,例如.以上示例中的“controllername”始终是控制器的名称(因为它不是).

解决方法

在那里建造卡洛斯:
path = "/controllername/action/whatever"
c_name = ActionController::Routing::Routes.recognize_path(path)[:controller]
controllerClass = "#{c_name}_controller".camelize.constantize.new

将为您提供控制器类的新实例.

原文地址:https://www.jb51.cc/ruby/267114.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐