inline raw html inside haml,在插值之后

inline raw html inside haml, right after interpolation

最终我需要一条 url 编码的线路,以将其传递到网络上的 whatsapp 或电报共享功能。 我需要在未链接的数据序列之后添加一个换行符 <br>,但我一直尝试的是它显示为文本元素,而不是 html 元素。

我的初始密码是

%br
- if unit.square_total.present?
  Total area:
  = cut_zeros(unit.square_total)
  %br
- if unit.square_plot.present?
  Plot area:
  = cut_zeros(unit.square_plot)
  %br
- if unit.square_covered.present?
  Covered:
  = cut_zeros(unit.square_covered)
  %br
- if unit.ceiling_height.present?
  Ceiling height:
  = cut_zeros(unit.ceiling_height)
  %br
- if unit.ceiling_basement_height.present?
  Basement ceiling height:
  = cut_zeros(unit.ceiling_basement_height)
  %br

我目前的练习失败了

%br
= unit.square_total? ? "Total area: #{cut_zeros(unit.square_total)}" : nil
%br
= unit.square_plot? ? "Plot area: #{cut_zeros(unit.square_plot)}" : nil
%br
= unit.square_covered? ? "Covered: #{cut_zeros(unit.square_covered)} <br>": nil
%br
= unit.square_covered? ? "Covered: #{cut_zeros(unit.square_covered)}" : nil
%br# last line

这段代码释放了很多我必须避免出现的<br>

所以我必须避免所有 %br 并添加 if 语句 true

所以我试过了

# series of similar lines above omitted
%br
= unit.square_total? ? "Total area: #{cut_zeros(unit.square_total)} %br": nil
= unit.square_plot? ? "Plot area: #{cut_zeros(unit.square_plot)}" + %br : nil
= unit.square_covered? ? "Covered: #{cut_zeros(unit.square_covered)} <br>": nil
= unit.square_covered? ? "Covered: #{cut_zeros(unit.square_covered)}" : nil # last line

但一直都不是我所期望的

!我会非常高兴你能给我一个建议如何将这段代码(包括一系列省略的字符串)最终转换为百分比 % 编码(url 编码)。

因为现在我正在做的, 1日。创建代码。执行良好,但多行 第二。我将所有行连接到一条长行并尝试使所有语句内联工作,所以我可以简单地使用 this sample

但它很用心....

我原来得到的结果

link to image

帮助您了解案例

使用 if 语句:

%br
- if unit.square_total?
  = "Total area: #{cut_zeros(unit.square_total)}" 
  %br
- else if unit.square_plot?
  = "Plot area: #{cut_zeros(unit.square_plot)}"
  %br
- ...

编辑

所以,试试

%br
= unit.square_covered? ? "Covered: #{cut_zeros(unit.square_covered)}<br>".html_safe: nil