2010-04-26 58 views
4

我是haml的新手,所以我仍然試圖找出格式化。Haml格式化

我有一個index.haml文件,下面的代碼。

%h1 
    Welcome to Solidarity 

Hello, 
= @profile.first_name 
! 

它呈現這樣的:

歡迎團結
你好,用戶!

這裏的頁面的源代碼:

<h1> 
    Welcome to Solidarity 
</h1> 
Hello, 
frances 
! 

它@ profile.first_name和感嘆號之間的空間。這是爲什麼?而且,我該如何解決它?

回答

5
%h1 Welcome to Solidarity 
Hello, #{@profile.first_name}! 
Please #{link_to 'post a comment', new_comment_path}! 

成爲

<h1>Welcome to Solidarity</h1> 
Hello, John! 
Please <a href="/comments/new">post a comment</a>! 

請記住,在軌道2與Haml的2,必須正確HTML轉義任何你發送到瀏覽器(HT NEX3):

Hello, #{h @profile.first_name}! 

在Rails 3和Haml 3中,默認情況下所有內容都會被刪除,因此您可以簡單地執行以下操作:

Hello, #{@profile.first_name}! 
+0

謝謝! 另外,同樣,link_to調用最後還有額外的空間。這些如何解決? – user5243421 2010-04-26 04:14:48

+1

編輯我的答案,添加一個'link_to'的例子。 – yfeldblum 2010-04-26 04:55:22

+1

不要忘記用HTML轉義用戶名! – 2010-04-26 07:28:18

5

您也可以使用「短吻鱷」在標籤之前或之後「吃」空白區域。從haml-lang docs

%img 
%pre>< 
    foo 
    bar 
%img 

被編譯爲:

<img /><pre>foo 
bar</pre><img /> 

雖然這也曾在這裏解決您的問題,由司法部給出的解決方案是這種情況下適當的標記。只是想我會提到它。