使用 Slim 显示顺序 if

Displaying sequential if's with Slim

我想显示以下段落,具体取决于可用的客户信息

p 
  ' Products and services are provided by #{link.company_name}
  - if link.support_email.present?
      div Email: #{mail_to link.support_email}
  - if link.support_phone.present?
      div Phone: #{link.support_phone}

我正在尝试弄清楚如何使用条件来正确地顺序显示这些项目..

我在上面分享的片段 没有 工作..嵌套被破坏了,所以我得到:

<p> ... </p>
<div>...</div>
<div>...</div>

而不是:

<p>
  <div>..</div>
  <div>..</div>
</p>

帮忙?

其实不是Slim的问题。这只是一个 HTML 限制。

根据 HTML 规范,p 元素 "cannot contain block-level elements"

您可以在规范的这一部分阅读更多相关信息:https://www.w3.org/TR/html401/struct/text.html#h-9.3.1