【问题标题】:Make specific Rails view use a certain layout使特定的 Rails 视图使用某种布局
【发布时间】:2012-06-26 02:15:08
【问题描述】:

有没有办法让某个 Rails 视图(例如index.html.haml)使用某个模板?这是在控制器中完成的,如下所示:

layout 'my_layout'

是否可以直接在视图中要求布局?谢谢。

【问题讨论】:

  • 这似乎也是从控制器设置布局。
  • Rails 提供了从控制器设置布局作为标准程序的工具。可能有一些模糊的方法可以从视图中设置它,但为了与 MVC 保持一致,最好由控制器做出这些决定。这就是它的设计方式,我建议不要试图颠覆它。
  • 我正在尝试修改没有控制器的 Devise 视图。

标签: ruby-on-rails layout view helper


【解决方案1】:

根据 Rails 指南,Layouts and Rendering

“当 Rails 将视图呈现为响应时,它通过将视图与当前布局组合来实现”

因此,一旦视图开始呈现,似乎就不可能更改布局。

此外,我建议确定布局更多的是控制器功能。如果您的视图中有试图确定布局的逻辑,我敢打赌最好将逻辑放在控制器中。

【讨论】:

    猜你喜欢
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 2012-04-04
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多