另一个标签内的 Slim 标签

Slim tag inside another tag

我正在寻找更干净的解决方案,更像 Slim,在标签内写入标签,这就是我目前所拥有的:

td = "#{p.created_at.to_formatted_s(:long)} <small>(#{time_ago_in_words(p.created_at)} ago)</small>".html_safe

上面的代码工作正常 - 生成我想要的输出,但对我来说看起来不太干净。我试过将它重写为 eRuby

<td><%= p.created_at.to_formatted_s(:long) %> <small><%= time_ago_in_words(p.created_at) %> ago)</small></td>

然后使用Erb2Slim转换器

将其转换为Slim
td
  = p.created_at.to_formatted_s(:long)
    small
     = time_ago_in_words(p.created_at)
     | ago)

在那之后它不显示 small 标签及其内容,知道如何在 Slim 中编写上述代码的最佳方式吗?

您的缩进(空格)似乎有问题。尝试使用以下缩进:

  td
    = p.created_at.to_formatted_s(:long)
    |  
    small
      | (
      = time_ago_in_words(p.created_at)
      | ago)

注意:第3行竖线后需要2个空格