¿Hay alguna forma de que una plantilla herede otra plantilla? No estoy usando Rails.¿Puedo heredar una plantilla erb?
Respuesta
no, no se puede heredar una plantilla erb - no es una clase es simplemente un archivo
EDIT:..
de acuerdo con el comentario de @ Dan, me echó un vistazo sobre la herencia de plantillas de Django y se ve muy similar a Rails content_for
. Sin embargo, no sé cómo usarlo fuera de Rails. Echa un vistazo a here en los puntos 3.2 y 3.3, y here.
No creo que hayas respondido la pregunta. Si has tenido alguna experiencia con las plantillas de Django, entenderías lo que está tratando de preguntar. –
Lo que estás buscando es partials y layouts. Puede definir un diseño como un contenedor para su página que tiene elementos de diseño global (incluye CSS y javascript, encabezados y pies de página, etc. Dentro de esta vista, puede yield
a otra plantilla, y esa plantilla puede mostrar partials
.
Eso es cierto en los rieles, pero ¿es cierto en erb cuando no está en los rieles? –
No. Rails maneja esos métodos por usted. Sin embargo, puede consultar el código fuente de Rails para ActionController, ya que contiene los métodos apropiados, y puede incluir los módulos necesarios o implementarlos usted mismo. –
Sí, los conozco, pero desafortunadamente no estoy usando Rails. Soy una persona de Sinatra :) – Geo
También me gusta mucho la herencia de plantilla django, pero no está disponible al menos con sinatra.
El sinatra book explica cómo se puede utilizar un layout.erb
para definir un diseño de página estándar:
Sólo tiene que definir un archivo views/layout.erb
con algo como:
<html>
<head>..</head>
<body>
<%= yield %>
</body>
</html>
Y luego llame a su plantilla erb con erb :index
por ejemplo. Sinatra renderizará ambas plantillas e incluirá el contenido de su plantilla de índice dentro del resultado del renderizado layout.erb.
¿Hay alguna manera de anular más de una parte de la plantilla? Diga, para especificar el contenido del elemento '
La mejor manera de hacer esto es probablemente usar https://github.com/sinatra/sinatra-contrib/blob/master/lib/sinatra/content_for.rb Luego puede simplemente usar 'content_for: some_key' y luego usar' yield_content: somekey' en tu diseño – simao
Ahora están el marco Rango, el primer marco de Ruby con herencia de plantilla y una gema de estructura independiente template inheritance, extraída de él.
- 1. Incrustar una plantilla ejs dentro de una plantilla erb
- 2. ¿Cómo se comenta en una plantilla erb?
- 3. Renderizar plantilla ERB en plantilla RABL
- 4. Cómo heredar una plantilla de control
- 5. ¿Es posible requerir una clase en una plantilla erb?
- 6. Renderizar una plantilla ERB con valores de un hash
- 7. Plantilla ERB que elimina la línea posterior
- 8. Manejo de JSON en plantilla JS/ERB en Rails 3
- 9. ¿Hay una manera de enumerar las variables disponibles en una plantilla de Rubí ERB?
- 10. ¿Cómo puedo verificar la sintaxis (no procesar) un archivo de plantilla ERB de Rails 3?
- 11. ¿Cómo puedo encontrar la ruta de un archivo de plantilla usando ERB?
- 12. ¿Cómo puedo comentar ERB en Rails?
- 13. ¿Cómo puede heredar una clase de una plantilla basada en sí misma?
- 14. ¿cómo puedo heredar de QWidget y QThread?
- 15. Erb con Sinatra en rubí
- 16. ¿Cómo escapar de la etiqueta de ERB en ERB
- 17. C++: "error: nombre de clase esperado antes de '{' token" al heredar una clase de plantilla
- 18. C++ clase de plantilla heredar otra clase de plantilla con un tipo de entrada de plantilla-especificado
- 19. Etiquetas rubb "erb" incrustadas
- 20. ¿Cómo puedo eliminar una plantilla de sitio?
- 21. Alternativas a ERB
- 22. Llamar a Sinatra erb de otra clase
- 23. ¿Cómo puedo heredar el resumen de C# en otra clase? (Como heredar Javadoc)
- 24. Backbone.js con plantillas Eco: ¿cómo incluir una plantilla dentro de una plantilla?
- 25. manejo .Erb con Nils rieles
- 26. Scala: ¿cómo heredar una "ranura estática"?
- 27. Ruby ternary operator in erb?
- 28. Selector heredar
- 29. bloques en ERB pura/Erubis
- 30. Plantillas de Ruby: ¿cómo pasar variables a ERB en línea?
¿Qué esperas que suceda cuando heredes de otra plantilla? ¿Cómo espera anular la plantilla, o parte de ella? – molf
Al igual que otras plantillas do. Por ejemplo, las partes pueden ser genéricas para todas ellas, como el pie de página y el encabezado. – Geo
explique en detalle lo que desea lograr – johannes