wie man alles außer einer bestimmten Handlung partiell rendert
Ich habe eine _header.html-Code.erb teilweise die ist, wo ich meine navbar
auf meiner Startseite, die ich nicht wollen, um den navbar.
dies ist die body
Anwendung.html-Code.erb
<body>
<%= render 'layouts/header' %>
<div id="container">
<%= yield %>
</div>
</body>
Wie kann ich es machen, auf jede Aktion mit Ausnahme bestimmter Aktionen für bestimmte Controller?
InformationsquelleAutor der Frage Nick Ginanto | 2012-11-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersetzen Rendern:
Dann können Sie einfach
disable_nav
zu wahren in jeder controller-action, die Sie mögen:Als
before_filter
die würde ich ermuntern, über die oben:application_controller.rb
my_controller
InformationsquelleAutor der Antwort Damien Roche
Können Sie die Logik in Ihrer stylesheets, im controller oder in Ihren Ansichten (das Letzte, nur für die ganzen Controller).
Stylesheets
Wenn Sie möchten, fügen Sie die Logik in Ihrer stylesheets, fügen Sie zunächst Ihren body-tag die folgenden Klassen:
Dann in der css, fügen Sie so etwas wie dieses:
Controller
Hinzufügen dieser Logik auf dem controller hinzufügen, bevor Sie filter auf Ihre Bewerbung controller:
Dann, wenn Sie nicht wollen, zu zeigen, die navbar in CarsController, dies zu tun:
wo
[list, of, actions]
sind die Aktionen, die Sie nicht wollen, zu zeigen, die navbar.Schließlich, ändern Sie das layout wie folgt Aussehen:
Ansichten
Wenn Sie möchten, deaktivieren Sie die header für die ganzen Controller, zuerst verschieben Sie die Kopfzeile
app/views/application/
und ändern Ihr machen:Schließlich, in diesen Reglern ohne navbar, fügen Sie einen leeren
_header.html.erb
zuapp/views/controller_name
.Damit diese option funktioniert, müssen Sie mindestens Rails 3.1
InformationsquelleAutor der Antwort Serabe
Ich würde ein anderes layout für diese spezifische Aktionen auf bestimmten Controller.
InformationsquelleAutor der Antwort Abhay Kumar