我的haml文件中有以下几行。
(Requested:
%strong<>
= comment.commentable.requested_check_in.present? ? comment.commentable.requested_check_in.strftime("%m/%d/%Y") : ""
="-"
= comment.commentable.requested_check_out.present? ? comment.commentable.requested_check_out.strftime("%m/%d/%Y") : ""
, Actual:
%strong<>
= comment.commentable.actual_check_in.present? ? comment.commentable.actual_check_in.strftime("%m/%d/%Y") : ""
="-"
= comment.commentable.actual_check_out.present? ? comment.commentable.actual_check_out.strftime("%m/%d/%Y") : ""
).
我想要的是在
之后有空格(Requested: " "
但这条线无效。
答案 0 :(得分:1)
 
stands for non-breaking space
通常,HTML会截断文本中的空格。如果写入10个空格,则只显示1个空格。  
是强制出现其他空格的一种方式,但很少采用“正确”方式。
有效的用例可能是:Mr. Usman
- 强制两个单词一起出现在同一行。
您需要做的就是将文本用引号括起来:
= '(Requested: '
%strong= comment.commentable.requested_check_in&.strftime("%m/%d/%Y")
- if comment.commentable.requested_check_out
= ' - '
%strong= comment.commentable.requested_check_out.strftime("%m/%d/%Y")
= ')'
= '(Actual: '
%strong= comment.commentable.actual_check_in&.strftime("%m/%d/%Y")
- if comment.commentable.actual_check_out
= ' - '
%strong= comment.commentable.actual_check_out.strftime("%m/%d/%Y")
= ')'
然而,这段代码非常混乱。不建议将这种复杂的逻辑放在视图中。我建议将这个逻辑移到辅助方法中;也许考虑使用draper
库?您重构的视图代码可能最终看起来像这样:
!= "(Requested: <strong>#{comment.commentable.requested_check_out_range}</strong>)"
!= "(Actual: <strong>#{comment.commentable.actual_check_out_range}</strong>)"
...条件逻辑移入./app/decorators/*.rb
。
如果您确实需要使用多个,非截断的空格来设置文本格式,那么您通常应使用white-space
CSS property。
答案 1 :(得分:0)
(Requested: 
%strong<>
= comment.commentable.requested_check_in.present? ? comment.commentable.requested_check_in.strftime("%m/%d/%Y") : ""
 - 
= comment.commentable.requested_check_out.present? ? comment.commentable.requested_check_out.strftime("%m/%d/%Y") : ""
, Actual: 
%strong<>
= comment.commentable.actual_check_in.present? ? comment.commentable.actual_check_in.strftime("%m/%d/%Y") : ""
 - 
= comment.commentable.actual_check_out.present? ? comment.commentable.actual_check_out.strftime("%m/%d/%Y") : ""
).
你可以在haml
中使用短代码(&amp; nbsp)答案 2 :(得分:0)
如果在HAML上需要空格,请使用以下作弊代码:
= parseFloat(elem.value) > 1.00 ? 'X' : "\n\b"
希望它会有用。