¿Existe una manera estándar de verificar si existe un diseño de vista dentro de un Controlador en Rails? Estoy tratando de permitir que el usuario determine el diseño, pero primero debe existir.¿Verifica si existe un diseño en Rails?
Respuesta
No hay una forma pública estándar hasta donde yo sé. Se podría utilizar una llamada rudimentaria así:
layouts = Dir['app/views/layouts/*'].map {|f|
File.basename(f, '.html.erb') # returns 'layout' for 'layout.html.erb'
}
creo que la mejor forma sería la de almacenar estos valores en una base de datos, deje que un usuario elija de eso.
En lugar de intentar verificar a través de lo que se ha sugerido en la publicación anterior.
Utilice un modelo de diseño y deje que el usuario elija.
Puede usar template_exists? que es un alias para exists?
Por ejemplo: template_exists?("layout_name", "layouts")
Tu comentario definitivamente me señaló (quién tiene la misma pregunta que el OP) en la dirección correcta. existe? (y template_exists?) son métodos en ActionView :: LookupContext (https://github.com/rails/rails/blob/master/actionpack/lib/action_view/lookup_context.rb). Quiero usarlos desde mi ApplicationController. ¿Es eso demasiado temprano? ¿El LookupContext actual ya está configurado? ¿Cómo puedo acceder desde mi ApplicationController? –
Debería hacer una búsqueda antes de publicar preguntas. LookupContext se inicializa en AbstractController :: ViewPaths y se puede acceder de forma sencilla como lookup_context en su controlador. –
- 1. Usando WatiN ... verifica si existe un elemento?
- 2. Verifica si existe proc almacenado en DB?
- 3. ¿Verifica si existe papel en DB?
- 4. ¿Cómo verifica si existe un cierto índice en una tabla?
- 5. ¿Verifica si existe un registro en una colección VB6?
- 6. ¿Cómo verifica si existe un nombre de dominio?
- 7. ¿Verifica si el registro NO existe en Rails (desde una matriz de identificadores)?
- 8. ¿Cómo verifica si existe una tabla con NHibernate (o Fluent)?
- 9. ¿Cómo comprobar si existe imagen en Rails?
- 10. ¿Verifica si un NSMutableDictionary está vacío?
- 11. Magento - ¿Verifica si hay un módulo instalado?
- 12. verifica si largeAddressAware está en efecto?
- 13. Ruby on Rails: ¿Cómo verifica si un archivo es una imagen?
- 14. ¿Cómo verifica si un widget tiene foco en Tkinter?
- 15. ¿Verifica si una variable contiene un valor numérico en Javascript?
- 16. ¿Verifica si existe clase en Java classpath sin ejecutar su inicializador estático?
- 17. ¿Cómo verifica si la página actual usa SSL en ASP.Net?
- 18. PHP: ¿verifica si la URL redirige?
- 19. ¿Existe un patrón de diseño de administrador?
- 20. C# ¿Verifica si el enchufe está desconectado?
- 21. Verifica si la cadena comienza con algo?
- 22. Javascript - verifica si div contiene una palabra?
- 23. ¿Verifica si existe una columna de lista con el modelo de objetos de cliente de SharePoint?
- 24. ¿Cómo verifica si un archivo está abierto usando Perl?
- 25. Verifica si el valor entero ha aumentado?
- 26. Verifica programáticamente si se está ejecutando syncdb
- 27. ¿Cómo se verifica si un repositorio mercurial está limpio?
- 28. ¿Cómo verifica si se carga un elemento de audio HTML5?
- 29. ¿Verifica si se está ejecutando un servicio de Windows?
- 30. Ruby on Rails: cómo verificar si el modelo existe
¿Por qué este downvoted? Aunque claramente no es perfecto, de hecho es una respuesta válida – OneChillDude
Sí, esto funcionó mejor para mí que el template_exists? abajo. –