rails devise helper的奇怪的ruby语法

时间:2014-07-27 00:17:49

标签: ruby-on-rails ruby devise

我在deviser_helper.rb中看到了以下代码。什么<< -HTML ...... HTML的意思是:

html = <<-HTML
<div id="error_explanation" class="alert">
  <h2>#{sentence}</h2>
  <ul>#{messages}</ul>
</div>
HTML

当然是在ruby中编写嵌入式HTML代码的好方法。但是为什么这有效呢?它来自哪里?

1 个答案:

答案 0 :(得分:1)

这只是multiline string in Ruby。通常它被称为heredoc或此处的文档。来自链接文档:

  

&lt;&lt;&lt;&lt;&lt;&lt;您可以指定字符串或标识符来终止字符串文字,并且当前行到终结符后面的所有行都是字符串的值。

-之后的<<表示您可以缩进终结符,以便末尾的HTML可以在其前面有空格或制表符。