0

这是代码

  .meta
    = time_ago_in_words(discussion.created_at)
    ago by
    = discussion.user.username
    |
    = link_to "Edit", edit_discussion_path(discussion), class: "meta"
    |
    = link_to "Delete", discussion_path(discussion), method: :delete, confirm: "Are you sure?", class: "meta"

这是输出:

    <div class='meta'>
      about 7 hours
      ago by
      foo
      |
      <a href="/discussions/2/edit" class="meta">Edit</a>
      |
      <a href="/discussions/2" class="meta" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Delete</a>
    </div>

这使得输出在|.

是否可以删除这些语句之间的空格,而不添加 aspan到所有内容,或者只使用erbor string interpolation

4

3 回答 3

1

将其显式打印为 Ruby 字符串有帮助吗?

.meta
  = time_ago_in_words(discussion.created_at)
  ago by
  = discussion.user.username
  = "|"
  = link_to "Edit", edit_discussion_path(discussion), class: "meta"
  = "|"
  = link_to "Delete", discussion_path(discussion), method: :delete, confirm: "Are you sure?", class: "meta"

我的意思是,这不是最好的代码,我更愿意像您最初的尝试一样放置字符,但是由于 HAML 强制缩进,您可能必须采用某种不同的路径来指定空格/空格字符。我认为这样做可能会为您提供简单的精确方法,只要在任一侧添加特定数量的空格或&nbsp;字符(如果您需要多个)。

编辑:我注意到标题指定“删除”空格,而不是“平衡”它 - 我的错误。因此,您可以尝试succeed,如下所述:Haml: Control whitespace around textSucceed没有后续,或者后跟空字符串,应该可以实现你想要的,没有任何空格。

编辑2:你是绝对正确的,>修饰符不适用于红宝石打印线(如link to)。成功应该仍然有效,或者您可以创建一个辅助函数,将所有这些行连接成一个字符串。

于 2012-08-08T10:56:14.897 回答
0

截至目前(2012 年 10 月 21 日),没有办法优雅地做到这一点。

如果您在阅读本文时可以,请务必回答问题,我会将其标记为答案。

于 2012-10-21T09:14:35.497 回答
-5

在 adobe dreamwever 中打开你的代码,然后按 ctrl + f ..

写在下面的代码和勾选正则表达式框

在查找框中:[\r\n]{2,}

在替换框中:\n

n 全部替换...

享受yyy

于 2012-08-08T11:47:25.313 回答