2012-08-08 115 views
0

這是代碼如何從haml中的這段代碼中刪除空格?

.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,或僅使用erbstring interpolation

回答

0

截至目前(2012年10月21日),沒有辦法優雅地做到這一點。

如果您在閱讀本文時有可能,請回答問題,我會將其標記爲答案。

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力壓痕你可能不得不採取某種不同的路徑,用於確定空白/空間-characters。我想這樣做可能會給你簡單的精度,只要在任何一邊添加特定數量的空格或&nbsp;個字符(如果需要多個)。

編輯:我注意到標題指定「刪除」空白,而不是「平衡」它 - 我的錯誤。因此,您可以嘗試succeed,如此處所述:Haml: Control whitespace around textSucceed沒有跟進,或者跟着是空字符串,應該可能實現你想要的而沒有任何空格。

編輯2:你是絕對正確的,>修改不符合紅寶石打印線(如link to)工作。成功應該仍然有效,或者您可以創建一個幫助函數,將所有這些行連接成一個字符串。

+0

不,在這種語句的末尾添加'>'是無效的haml。不適合我。 – Dogbert 2012-08-08 12:07:40

+0

你是絕對正確的,不確定我在想什麼,但'''修飾符在ruby打印行上不可用。可能最好使用'succeed'或一個輔助函數來處理小的字符串。 – DRobinson 2012-08-08 13:14:58

-5

打開烏爾在土坯dreamwever和PRES Ctrl + F鍵代碼..

寫入下面的代碼,並用蜱正則表達式框

在查找框中

:\ r \ n]的{2,}

在替換框中:\ n

ň全部更換...

enjoyyyy