从params [:controller]

时间:2019-02-23 11:08:58

标签: ruby-on-rails methods controller ruby-on-rails-5 constants

我有

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

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

Posts::CommentsController

我知道我可以做到:

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

我只是问是否有专用的Rails方法来实现,如果可以,那是什么方法?

1 个答案:

答案 0 :(得分:0)

我最终使用:

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

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

请更新我,如果有专用的Rails方法可以做到这一点。