【问题标题】:bypass application.html.erb in Rails app在 Rails 应用程序中绕过 application.html.erb
【发布时间】:2012-03-22 12:54:42
【问题描述】:

我有一个 application.html.erb 文件,它为我的应用程序中的每个页面(页眉、页脚等)设置布局,就像典型的 Rails 应用程序一样。

但是,我想要一个我不想使用此文件的登录页面。我应该如何绕过 application.html.erb?

谢谢。

【问题讨论】:

    标签: ruby-on-rails view


    【解决方案1】:

    使用

    render :layout => false
    

    render :layout => 'whatever'
    

    在你的行动中。如果您使用单独的LandingController,您只需创建一个 app/views/layouts/landing.html.erb 将被拾取,或者您可以通过

    覆盖布局
    class LandingController < ApplicationController
      layout 'whatever'
      ...
    end
    

    【讨论】:

    • 但是我们也可以在这个控制器中询问动作吗?如果没有,那么路由器怎么不会,我要去这个控制器?
    【解决方案2】:

    您可以在渲染函数中设置布局:

    render {other arguments}, :layout => :homepage
    

    您还可以将该选项设置为 false 以完全不使用任何布局。

    如果您希望整个控制器使用自定义布局,您可以执行类似的操作:

    class MyController < ApplicationController
    
        layout :homepage
    
        #...
    end
    

    希望有帮助!

    【讨论】:

      【解决方案3】:

      在渲染视图的控制器中,将渲染更改为:

      render :layout => false
      

      您可以在Rails guide to render and layouts 阅读有关渲染选项以及如何使用布局的更多信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-12
        • 2019-09-23
        • 1970-01-01
        相关资源
        最近更新 更多