Ein Ereignis, das während der Produktion der Original-App auf Schienen gestolpert ist. Der Teil, der von dem "roten Rahmen" unten umgeben ist, wurde als Teilschablone bezeichnet.
Die obere Seite hat die folgende Struktur, und ich möchte den Header nicht aufrufen, also habe ich mich gefragt, was ich tun soll.
Ich möchte alle Header außer der oberen Seite anzeigen, also rendere ich die Teilvorlage mit application.html.erb
.
erb:application.html.erb
<!DOCTYPE html>
<html>
<head>~Kürzung~</head>
<body>
<%= render "shared/header" %> <%#Ich rufe hier den Header auf.
<%= yield %>
<%= render "shared/footer" %>
</body>
</html>
Dieser Artikel Ich habe versucht, die Teilvorlage nicht aufzurufen, wenn die aktuelle Seite nicht die oberste Seite ist (root_path).
erb:application.html.erb
<body>
<% unless current_page?(root_path) %> <%#Wenn die aktuelle Seite root ist, rufen Sie nicht auf
<%= render "shared/header" %>
<% end %>
<%= yield %>
<%= render "shared/footer" %>
</body>
Wenn Sie die Seite angeben, auf der die Teilvorlage aufgerufen werden soll, auf dem Controller aufgeführt Feuern Sie eine von JavaScript aufgerufene Seite ab, es scheint verschiedene Mittel zu geben In meinem Fall ist nur eine Seite ausgeblendet, daher dachte ich, diese Methode wäre besser.
Wenn Sie einen Grund haben, warum diese Methode nicht empfohlen wird, teilen Sie uns dies bitte mit.
Recommended Posts