Ruby on rails Slim中单等分和双等分之间的差异(=vs==)

Ruby on rails Slim中单等分和双等分之间的差异(=vs==),ruby-on-rails,slim-lang,Ruby On Rails,Slim Lang,在Slim中,何时应使用双等号 例如: == yield == render 'partial' == stylesheet_link_tag "application", media: "all" title == full_title(yield(:title)) - flash.each do |key, value| == value 或 从: 输出= 等号告诉Slim这是一个Ruby调用,生成要添加到缓冲区的输出 不带HTML转义的输出== 与单等号(=)相同,但不通过es

在Slim中,何时应使用双等号

例如:

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

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

从:

输出=

等号告诉Slim这是一个Ruby调用,生成要添加到缓冲区的输出

不带HTML转义的输出==

与单等号(=)相同,但不通过escape_html方法

关于HTML转义的更新:

首先,“html转义”的意思是:

puts html_escape('is a > 0 & a < 10?')
# => is a &gt; 0 &amp; a &lt; 10?
puts html_escape('a>0&a<10?'))
#=>是一个0&;10美元?
然后,阅读一些关于你为什么/何时想这样做的文章:

  • =
    插入带有转义字符的HTML。例如:

    = javascript_include_tag("1", "2")
    
    == render 'footer'
    
  • =
    插入HTML而不转义。当您已经呈现HTML并且需要将其直接插入布局时,就需要它。例如:

    = javascript_include_tag("1", "2")
    
    == render 'footer'
    

  • 代码转义,据我记忆所及,double equal禁用html转义@МаъСъСъъъ我何时需要禁用html转义?何时,您尝试插入已渲染的文本,例如手动渲染文本时