Tutti sanno come utilizzare stylesheet_link_tag
a collegamento a un foglio di stile, ma vorrei effettivamente includere un intero foglio di stile in una pagina stessa. (No, di solito non è una buona pratica, ma ha senso in questo contesto.)In Rails, come posso includere un foglio di stile dalla pipeline degli asset come tag <style>?
stylesheet_include_tag
non esiste, e un collega che è molto più grande cattivo a Rails di quanto io sia dice che non c'è è un modo semplice
Domanda:
E 'effettivamente possibile fare uso del bene gasdotto e incorporare ancora il contenuto di un file (compilato da Sass o CoffeeScript!) CSS o JavaScript in una vista .haml
? Come?
Aggiunto per chiarezza:
vorrei per il mio layout per essere in grado di includere qualcosa di simile:
= stylesheet_link_tag "base"
= stylesheet_embed_tag "page-specific-styles/foo"
E avere questo genera output HTML in queste righe:
<link rel="stylesheet" href="/base.css" />
<style type="text/css">.foo { color: red; }</style>
Aggiornamento
E 'possibile utilizzare Sass entro Haml se set your initalizer correctly, ma io non riesco a @import "foo"
da questo contesto, in cui foo.css.sass
è un foglio di stile in cantiere risorsa. Nota che @import "compass"
(ammesso che tu abbia la gemma della bussola) funziona.
Questo appare come (Haml):
%style
:sass
@import "foo"
Rails dà un errore che "foo" non può essere trovato, anche se afferma di essere alla ricerca in app/assets/stylesheets
(che è dove foo.css.sass
vita).
Quindi, questo sembra più vicino, ma ancora non del tutto lì.
Se ho capito bene, vuoi includere il CSS effettivo nella vista '.haml'. – David
@David Sì. Estenderò la domanda per renderla esplicita. –
non considereresti forse usando il blocco 'content_for: head' forse o penso che potresti chiamarlo esplicitamente come' <% = stlyesheet_include_tag 'some_stylesheet'%> 'ma intendo come' .haml' credo che non lo farebbe Ho i tag ruby incorporati rendendolo semplicemente '= stylesheet_include_tag 'some_stylesheet' Potrei sbagliarmi. Ma ci sono due metodi che ho suggerito a voi due. Speriamo che aiuti. – David