Gibt es eine Möglichkeit, dass eine Vorlage eine andere Vorlage erbt? Ich benutze keine Schienen.Kann ich eine erb-Vorlage erben?
Antwort
Nein, Sie können nicht eine erb Vorlage erben - es ist nicht eine Klasse es ist nur eine Datei
EDIT:..
nach @ Dan Kommentar, habe ich einen Blick auf Django Vorlage Vererbung und Es sieht sehr ähnlich zu Rails content_for
aus.Ich weiß jedoch nicht, wie es außerhalb von Rails zu verwenden.Schauen Sie sich here in den Punkten 3.2 und 3.3 und here.
Ich glaube nicht, dass Sie die Frage überhaupt beantwortet haben. Wenn Sie Erfahrung mit Django-Vorlagen haben, werden Sie verstehen, was er zu fragen versucht. –
Was Sie suchen, ist partials und layouts. Sie können ein Layout als Container für Ihre Seite definieren, die über globale Design-Elemente verfügt (CSS und JavaScript, Kopf- und Fußzeilen usw.). In dieser Ansicht können Sie yield
in eine andere Vorlage rendern, und diese Vorlage kann
Das ist wahr in Schienen, aber ist es wahr in erb, wenn nicht in Schienen? –
Nr. Rails behandelt diese Methoden für Sie. Sie können jedoch den Quellcode von rails für ActionController betrachten, da er die entsprechenden Methoden enthält. Sie können entweder die erforderlichen Module hinzufügen oder sie selbst implementieren. –
Ja, ich kenne sie, aber leider benutze ich nicht Rails. Ich bin ein Sinatra Person :) – Geo
Ich mag auch die Django-Vorlage Vererbung, aber es ist nicht verfügbar zumindest mit Sinatra.
Die sinatra book erklärt, wie Sie eine layout.erb
verwenden können eine Standard-Seitenlayout zu definieren:
Sie müssen nur eine views/layout.erb
Datei mit etwas definieren, wie:
<html>
<head>..</head>
<body>
<%= yield %>
</body>
</html>
Und dann erb Vorlage rufen mit erb :index
zum Beispiel. Sinatra rendert beide Vorlagen und fügt den Inhalt Ihrer Indexvorlage in das Ergebnis des layout.erb-Renderings ein.
Gibt es eine Möglichkeit, mehr als einen Teil der Vorlage zu überschreiben? Sprich, um den Inhalt des Elements '
Der beste Weg, dies zu tun ist wahrscheinlich https://github.com/sinatra/sinatra-contrib/blob/master/lib/sinatra/content_for.rb Dann können Sie einfach 'content_for: some_key' verwenden und dann' 'verwenden yield_content: somekey' in Ihrem Layout – simao
Jetzt gibt es das Framework Rango, das erste Ruby-Framework mit Template-Vererbung, und ein Framework-Agnostic template inheritance Edelstein, daraus extrahiert.
- 1. Kann ich nur eine Methode in Erben überschreiben?
- 2. Kann eine Webservice-Klasse asp.net-Seitenklasse erben
- 3. Kann eine Seite mehrere Masterseiten? (ASP.NET) erben
- 4. erben eine statische Klasse
- 5. kann eine ASPX-Seite mehr als eine aspx.cs-Klasse erben?
- 6. Sollte eine Schnittstelle eine andere Schnittstelle erben
- 7. Wie kann ich von QWidget und QThread erben?
- 8. Kann eine Klasse von System.Web.UI.Page und System.Web.UI.UserControl erben?
- 9. Kann eine verschachtelte C++ - Klasse ihre umschließende Klasse erben?
- 10. Kann eine Mitgliedsklasse von ihrem übergeordneten Element erben?
- 11. Wie kann ich von ArrayList <MyClass> erben?
- 12. Kann eine Ruby-Klassenmethode von einer anderen Klasse erben?
- 13. Kann eine C# -Klasse Attribute von ihrer Schnittstelle erben?
- 14. Kann ich von einer zur Laufzeit ausgewählten OCaml-Klasse erben?
- 15. Kann ich anderen Baugruppen verbieten, von einer Klasse zu erben?
- 16. Warum kann ich LinkedListNode <T> nicht erben?
- 17. kann ich die Variablen eines übergeordneten Controllers erben?
- 18. Wie kann ich einfach Methoden von einer vorhandenen Instanz erben?
- 19. Kann ein virtualenv von einem anderen erben?
- 20. kann nicht erben und überschreiben ArrayAdapter
- 21. Wie kann ein Objekt einen Wert erben?
- 22. Wie kann ich eine benutzerdefinierte Klasse von mehreren Superklassen erben lassen?
- 23. Wie kann ich das Erben von Klassen erzwingen, um eine statische Methode in C# zu implementieren?
- 24. Wie kann ich eine feste positionierte div Erben Breite des Elternteils machen?
- 25. Kann ich von WebClient erben, ohne dass mein Code eine "Design-Time-Komponente" ist?
- 26. Wie erben ich die KDoc-Dokumentation?
- 27. PHP5-Klassen: eine komponierte Klasse erben?
- 28. Wie erteile ich Unit-Test erben Objekte?
- 29. Wie organisiere ich C# -Klassen, die voneinander erben, aber auch Eigenschaften besitzen, die von einander erben?
- 30. Welche sollte welche erben?
Was erwarten Sie, wenn Sie von einer anderen Vorlage erben? Wie würden Sie davon ausgehen, die Vorlage oder einen Teil davon zu überschreiben? – molf
Wie andere Vorlagen auch. Zum Beispiel könnten Teile für alle von ihnen generisch sein, wie Fußzeile und Kopfzeile. – Geo
Bitte erklären Sie im Detail, was Sie erreichen wollen – johannes