haml标记内的任何rails代码都会在浏览器html标记内生成空白/空字符

时间:2014-04-12 01:45:02

标签: html ruby-on-rails html5 css3 haml

每当rails变量等于nil(或者实际上每当我使用rails代码时(参见第3个代码示例)),我的html中都会出现一串空字符。

new.html.haml

%h1.editable.editable_title_field{:contenteditable => 'true', :placeholder => "title"}
  = @post_title //@post_title.present? returns false
%h4.editable.editable_subtitle_field{:contenteditable => 'true', :placeholder => "subtitle"}
  = @post.subtitle
%p.editable.editable_intro_field{:contenteditable => 'true', :placeholder => "intro"}
  = @post.intro

这导致:

enter image description here

我查了一下,甚至:

%h1.editable.editable_title_field{:contenteditable => 'true', :placeholder => "title"}
  - @post_title

%h1.editable.editable_title_field{:contenteditable => 'true', :placeholder => "title"}
  -

与附加图像中的结尾相同

因为那些空字符:empty css选择器将元素视为非空并且不附加:before

中指定的内容

如何摆脱html标签中的那些空字符?

修改

此行为的截屏视频: http://quick.as/jqlaiorq

1 个答案:

答案 0 :(得分:1)

使用<行末尾的%h1进行尝试:

%h1.editable.editable_title_field{:contenteditable => 'true', :placeholder => "title"}<
  = @post_title

请参阅HAML文档中的whitespace removal info