2014-11-27 5 views
9

In Slim, quando dovrei usare il doppio segno di uguale?Differenza tra singoli e doppi uguali in Slim (= vs ==)

Ad esempio:

== yield 
== render 'partial' 
== stylesheet_link_tag "application", media: "all" 
title == full_title(yield(:title)) 

- flash.each do |key, value| 
    == value 

o

= yield 
= render 'partial' 
= stylesheet_link_tag "application", media: "all" 
title == full_title(yield(:title)) 

- flash.each do |key, value| 
    = value 
+0

codice di escape, quindi, per quanto mi ricordo doppia pari disabilita l'html sfuggire –

+0

@ МалъСкрылевъ Quando ho bisogno di disattivare fuggire HTML? – dan

+0

quando, si tenta di inserire il testo già sottoposto a rendering, ad esempio quando lo si è reso manualmente –

risposta

10
  1. = inserti HTML con caratteri di escape. Esempio:

    = javascript_include_tag("1", "2") 
    
  2. == inserti HTML senza fuggire. È necessario quando hai già eseguito il rendering dell'HTML e devi inserirlo direttamente nel tuo layout. Esempio:

    == render 'footer' 
    
10

Dal documentation: uscita

=

Il segno di uguale indica Slim è una chiamata Ruby che produce l'output da aggiungere al buffer.

uscita senza HTML sfuggire ==

Come il segno di uguale singolo (=), ma non passa attraverso il metodo escape_html.

Aggiornamento fuga per quanto riguarda HTML:

Prima di tutto, ciò che "html fuga" significa questo:

puts html_escape('is a > 0 & a < 10?') 
# => is a &gt; 0 &amp; a &lt; 10? 

Poi, qualche lettura sul perché/quando si desidera farlo:

Problemi correlati