【问题标题】:How to hide footer layout on a particular page?如何隐藏特定页面上的页脚布局?
【发布时间】:2011-02-27 02:36:39
【问题描述】:

在我的视图页面上,我想隐藏在 application.html.erb 中定义的页脚部分,我该怎么做?

我有哪些选择?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    最简单/最快的方法可能是定义一个条件:

    <%= render "layouts/footer" unless @skip_footer %>
    

    然后在您的操作中根据需要设置变量:

    def non_footer_action
      do_stuff
      @skip_footer = true
    end
    

    【讨论】:

      【解决方案2】:

      对我来说,CSS 解决方案是最接近常规的解决方案:

      app/controllers/resources_controller.rb

      class ResourcesController < ApplicationController
        def action
          # ...
        end
      end
      

      app/views/layouts/application.html.erb

      <body class="<%= "#{controller_path} #{action_name}" %>">
        <!-- ... -->
        <footer></footer>
      </body>
      

      app/assets/stylesheets/resources.css.scss

      body.resources {
      
        // Hide footer for certain views
      
        &.action footer {
          display: none;
        }
      }
      

      您可能还想为 «footerless» 操作使用单独的布局,尽管 一个 元素不足以成为另一个布局的理由。

      【讨论】:

        【解决方案3】:

        如果页面是“show.html.erb”,您可以执行以下操作:

        <% unless action_name == "show" %>
           <%= render 'shared/footer' %>
        <% end %>
        

        【讨论】:

        • 这个很简单有效
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多