Parece que, en los carriles 3.1, todos los archivos css.scss se fusionan en 1 archivo. ¿Qué hago si quiero que un archivo css solo se incluya en algunas vistas? Me gusta si quiero que admin.css.scss se incluya en la página de administración y main.css.scss en la página de inicio/acerca/contacto.Rails3.1 - ¿Cómo incluyo archivos css en algunas vistas pero no en otras?
Respuesta
En Rails 3.1, todas las hojas de estilo se fusionarán en el application.css si su application.css parece:
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require_self
*= require_tree .
*/
Es debido a la * = require_tree.
Puede requerir una hoja de estilo específica con:
*= require main
De lo contrario, en su diseño, se escribe:
%head
= yield :head
y en su página:
= content_for :head do
= stylesheet_link_tag 'stylesheet'
Consulte también:
http://guides.rubyonrails.org/layouts_and_rendering.html
(ver secciones 2.2.14 'encontrar Diseños')
que podría tener diferentes diseños para diferentes controladores!
p. Ej. en aplicaciones/vistas/diseños puede tener application.haml y admin.haml y en la aplicación/controladores tendría un admin_controller.rb
Rails intentará encontrar un diseño con el mismo nombre que el controlador.
También puede anular este comportamiento y especificar qué diseño a utilizar, por ejemplo .:
class ItemsController < ApplicationController
layout "admin"
#...
end
A continuación, crear un archivo admin.scss bajo APP/hojas de estilo para este nuevo diseño!
permítanme añadir una solución que funcionó para mí
Como se ha mencionado en una respuesta anterior es posible que desee quitar la instrucción
*= require_tree .
del archivo application.css.
me quedé con la declaración
*= require_self
para los estilos compartidos a través de la aplicación.
Luego, en mi archivo application.html que utilizan las siguientes declaraciones para incluir sólo el application.css y las hojas de estilo controller.controller_name.css en la vista.
= stylesheet_link_tag "application", controller.controller_name
= javascript_include_tag "application", controller.controller_name
Como puede ver, el mismo funciona para los archivos de JavaScript.
- 1. PIL image.open() trabajando para algunas imágenes pero no otras
- 2. ¿Por qué se pueden publicar algunas matrices pero no otras?
- 3. El método Dictionary.ElementAt es visible en algunas clases, pero no en otras
- 4. ¿Cómo incluyo archivos javascript en el servidor?
- 5. Graphics.drawImage() en Java es EXTREMADAMENTE lento en algunas computadoras pero mucho más rápido en otras
- 6. Agregue espacios al final de algunas opciones de autocompletar Bash, pero no a otras?
- 7. ¿Cómo incluyo archivos .class en mi proyecto en Eclipse? (Java)
- 8. ¿Por qué algunas solicitudes JSON entre dominios fallan pero otras no?
- 9. drupal themes: ¿cómo incluyo varios archivos css/js en el archivo .info de mi tema?
- 10. ¿Este libro de texto está equivocado? Especializando algunas funciones miembro pero no otras
- 11. ¿Cómo incluyo archivos DLL en mi archivo .csproj?
- 12. ¿Cómo incluyo archivos JAR externos en mi propio proyecto JAR
- 13. SFINAE: algunas fallas más iguales que otras?
- 14. Android vista flotante (sobre otras vistas)
- 15. Seleccionar columna distinta junto con algunas otras columnas en MySQL
- 16. FBConnect: ¿Por qué se muestra en algunas páginas y no en otras?
- 17. ¿Por qué algunas transformaciones Web.config se convierten en tokenizadas en SetParameters.xml y otras no?
- 18. SQL Server 2008 - sp_refreshview bombardeando algunas vistas
- 19. Archivos CSS servidos en CloudFront no representados
- 20. Delphi: ¿Todas las constantes son constantes, pero algunas son más constantes que otras?
- 21. cómo mantener una uiview por encima de otras vistas
- 22. ¿Cómo incluyo JavaScript en línea en Haml?
- 23. Animación CSS: ¿Funciona en Chrome pero no en Firefox?
- 24. ¿Cómo puedo anular las rutas ~/.vim y ~/.vimrc (pero no otras) en vim?
- 25. ¿Cómo incluyo --no-pager en un alias de Git?
- 26. ¿Cómo incluyo System.Windows.Shapes?
- 27. Rsync cómo incluir directorios pero no archivos?
- 28. ¿Cómo incluyo los archivos de configuración con Maven Appassembler?
- 29. ¿Cómo incluyo archivos HTML sin procesar en las plantillas de Symfony2/Twig?
- 30. ¿Por qué algunas URL de repositorio terminan en .git mientras que otras no?
¿Qué hace el% head y yield: head bits do? –
En Haml: % head = yield: head Generará la etiqueta
en HTML e insertará el código de otra página mediante el rendimiento – damienbrz