【问题标题】:Difference between single and double equals in Slim (= vs ==)Slim 中单等号和双等号的区别(= vs ==)
【发布时间】:2014-11-27 13:52:02
【问题描述】:

在 Slim 中,什么时候应该使用双等号?

例如:

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

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

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

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

【问题讨论】:

  • 代码转义,据我所知,双等号禁用了 html 转义
  • @МалъСкрылевъ 我什么时候需要禁用 HTML 转义?
  • 当您尝试插入已经渲染的文本时,例如当您手动渲染它时

标签: ruby-on-rails slim-lang


【解决方案1】:
  1. = 插入带有转义字符的 HTML。示例:

    = javascript_include_tag("1", "2")
    
  2. == 插入 HTML 而不转义。当您已经呈现 HTML 并且需要将其直接插入到您的布局中时需要它。示例:

    == render 'footer'
    

【讨论】:

    【解决方案2】:

    来自documentation

    输出 =

    等号告诉 Slim 这是一个 Ruby 调用,它产生输出以添加到缓冲区。

    没有 HTML 转义的输出 ==

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

    关于 HTML 转义的更新:

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

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

    然后,阅读有关您为什么/何时要这样做的内容:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 2021-08-29
      • 2016-08-31
      相关资源
      最近更新 更多