使用HAML将两行或多行Ruby代码绑定一行

时间:2015-04-06 11:30:41

标签: ruby ruby-on-rails-3 haml html2haml

我希望将以下内容从HTML转换为HAML。

<p class="date">
        Submitted <%= time_ago_in_words(@post.created_at) %> Ago
        | <%= link_to 'Edit', edit_post_path(@post) %>

我的目标是将编辑链接保持在同一行:

Submitted about 17 hours Ago | Edit

但是编辑链接位于提交的 ....字符串之下。

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

输出:

Submitted about 17 hours Ago | 
Edit

此尝试将编辑代码输出为href字符串。

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

输出:

Submitted about 17 hours Ago | <a href="/posts/3/edit">Edit</a>

请帮助实现这一目标。

由于

1 个答案:

答案 0 :(得分:2)

您需要在段落

中包含链接
%p.date
  = "Submitted #{time_ago_in_words(@post.created_at)} Ago |"
  = link_to 'Edit', edit_post_path(@post)

修改

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

将创建一个像这样的HTML

<p>Submitted about 17 hours Ago | </p>
<a href="/posts/3/edit">Edit</a>

这个

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

会出现语法错误。