6 Stimmen

Wie kann man das Layout der Fußzeile auf einer bestimmten Seite ausblenden?

Auf meiner Ansichtsseite möchte ich die Fußzeile teilweise ausblenden, die in meiner application.html.erb definiert ist, wie kann ich dies tun?

Welche Möglichkeiten habe ich, dies zu tun?

20voto

Michelle Tilley Punkte 153542

Die einfachste/schnellste Methode wäre wahrscheinlich, eine Bedingung zu definieren:

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

und setzen Sie die Variable dann nach Bedarf in Ihren Aktionen:

def non_footer_action
  do_stuff
  @skip_footer = true
end

1voto

jibiel Punkte 7655

Für mich, CSS Lösung kommt der konventionellen Lösung am nächsten:

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;
  }
}

Sie können auch ein separates Layout für "fußzeilenlose" Aktionen verwenden, auch wenn eine Element ist kein ausreichender Grund für ein anderes Layout.

0voto

Elly Ambet Punkte 510

Wenn die Seite "show.html.erb" heißt, können Sie Folgendes tun:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X