HAML如何制作这条线?

时间:2018-04-23 16:31:22

标签: haml

我收到了这段代码

%p.date= "Submitted #{time_ago_in_words(@post.created_at)} ago | " |
= link_to "Edit Post", edit_post_path(@post)

我得到意想不到的结果:

<p class="date">Submitted 10 minutes ago | </p>
<a href="/posts/9/edit">Edit Post</a>

我想在p标签中找到一个标签:

<p class="date">Submitted 10 minutes ago | <a href="/posts/9/edit">Edit Post</a></p>

我也试过这个:

%p.date= "Submitted #{time_ago_in_words(@post.created_at)} ago | "
  = link_to "Edit Post", edit_post_path(@post)

和此:

%p.date= "Submitted #{time_ago_in_words(@post.created_at)} ago "
  = "| #{link_to "Edit Post", edit_post_path(@post)}"

在这两种情况下我都会得到同样的错误

  

非法嵌套:内容不能与%p在同一行上给出并嵌套在其中。

似乎haml并不知道结束|是否带有红宝石串?
如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

使用缩进在下一行中断它们以嵌套它们:

%p.date
  = "Submitted #{time_ago_in_words(@post.created_at)} ago | "
  = link_to "Edit Post", edit_post_path(@post)