【问题标题】:How to get the layout of a particular path如何获取特定路径的布局
【发布时间】:2015-12-18 07:39:24
【问题描述】:

我试图弄清楚如何获得特定路径的布局。我知道我可以通过以下方式获取当前页面的布局:

(controller.send :_layout).inspect.split("/").last.gsub(/.html.erb/,"")

但是如果我想得到这条路径的布局:companies_edit_path

感谢您的任何建议。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 routing


    【解决方案1】:
    controller_name =
      Rails.application.routes.recognize_path('companies_edit_path')[:controller]
    controller_klass = "#{controller_name}_controller".camelize.constantize
    controller_klass._layout? ? controller_klass._layout : :application
    

    【讨论】:

    • 您好,感谢您的回复。我遇到了 ActionController::Routing 常量的问题。显然它不再存在于最新版本的 rails 4 中。stackoverflow.com/a/30813115/2540204 你有解决方法吗?
    • 另外,我收到一个错误undefined method _layout?` 关于最后一行(如果我只是将控制器硬编码到 controller_klass 中)。
    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多