从params [:controller]获取控制器的常量名称

问题描述 投票:0回答:1

我有

params[:controller] # => "posts/comments"

我想获得相关控制器的常量名称:

Posts::CommentsController

我知道我可以做到这一点:

"#{params[:controller].camelize}Controller".constantize # => Posts::CommentsController

我只是问是否有专门的Rails方法来实现这个目标,如果有的话,那个方法是什么?

ruby-on-rails methods controller ruby-on-rails-5 constants
1个回答
0
投票

我最终使用:

# path => "posts/comments"
recognized_path = Rails.application.routes.recognize_path(path)

"#{recognized_path[:controller].camelize}Controller".constantize 
# => Posts::CommentsController

如果有专门的Rails方法,请更新我。

© www.soinside.com 2019 - 2024. All rights reserved.