HAML中的多行字符串

时间:2016-01-19 16:18:38

标签: ruby-on-rails haml

因为我不希望我的任何行超过80列,所以我想将最后一行拆分为两行。在行尾添加逗号按建议here工作,但逗号后面会出现逗号。使用HAML有一个很好而且干净的方法吗?

- if object.errors.any?
  %section.form_error_message
    %h4.form_error_message__title
      = "#{pluralize(object.errors.size, 'errors')} prevented this form from submitting. Please fix these errors and try again."

我希望所有内容都隐藏在80个列中,就像在屏幕截面左侧一样。

enter image description here

2 个答案:

答案 0 :(得分:15)

Haml has support for multiline sequences这样使用|字符:

- if object.errors.any?
  %section.form_error_message
    %h4.form_error_message__title
      = "#{pluralize(object.errors.size, 'errors')} prevented this form from |
        submitting. Please fix these errors and try again."                  |

在这种情况下,你真的不需要这个,你可以直接在纯文本中使用interpolation,你不需要=

- if object.errors.any?
  %section.form_error_message
    %h4.form_error_message__title
      #{pluralize(object.errors.size, 'errors')} prevented this form from
      submitting. Please fix these errors and try again.

(这个输出稍有不同,因为它会包含换行符。你应该注意到在渲染的HTML中,除非你是在<pre>标签内。)

答案 1 :(得分:1)

%div First line |
     and second line |

将呈现:

<div>First line and second line</div>

如果您甚至不想要标签:

First line |
and second line |

将产生:

First line and second line

您可以使用命令工具haml,例如在macOS上复制代码,然后复制pbpaste | haml,或者使用cat file.haml | haml文件。