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>

これにより、出力の両側に不均衡なスペースができます|

spanすべてにa を追加したり、 or を使用したりすることなく、これらのステートメント間の空白を削除することは可能ですerbstring interpolation?

4

3 に答える 3

1

Ruby String ヘルプとして明示的に出力しますか?

.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フォローアップなし、または空の文字列が続くと、おそらく空白なしで目的を達成できるはずです。

EDIT 2:あなたは絶対に正しいです。>修飾子はルビの印刷行(のような)では機能しませんlink to。Succeed は引き続き機能するはずです。または、これらすべての行を 1 つの文字列に連結するヘルパー関数を作成することもできます。

于 2012-08-08T10:56:14.897 に答える
0

現時点 (2012 年 10 月 21 日) では、これをエレガントに行う方法はありません。

これを読んだときに可能であれば、質問に答えてください。答えとしてマークします。

于 2012-10-21T09:14:35.497 に答える
-5

adobedreamweverとpresctrl+fでurコードを開きます。

以下のコードを記述し、正規表現ボックスにチェックマークを付けます

検索ボックス内:[\ r \ n] {2、}

交換ボックス内:\ n

nすべてを置き換える...

enjoyyyy

于 2012-08-08T11:47:25.313 に答える