2014-10-16 59 views
2

我決定試用.slim(超薄模板引擎),因爲我不喜歡.erb,我也想花時間學習一些可能在長期內有用的東西。使用鑲嵌紅寶石的苗條

因爲我在下面rails_tutorial同時我來到這裏yield(:title)使用

隨着.erb它看起來像這樣的部分:

<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title> 

隨着.slim我設法使它看起來像:

title 
    => yield(:title) 
    | | Ruby on Rails Tutorial Sample App 

現在,我想要做的就是能夠在一行中鍵入它。那麼使用.slim有沒有辦法做到這一點?

這裏是另一個例子,我似乎無法使一行

a<> href="http://www.railstutorial.org/" 
    em Ruby on Rails Tutorial 

也許下了線我甚至不會做這樣的事情,但在 爲了更好地學習,我想一些這一點關於.slim的指針

另一個問題,以防止這樣的更多問題是,我在哪裏可以找到一個詳細的文檔或教程與這些例子。

後續:

我怎麼會那麼轉換這樣的:

<% flash.each do |message_type, message| %> 
    <div class="alert alert-<%= message_type %>"> 
    <%= message%> 
    </div> 
<% end %> 

好吧,我想我已經明白它:

- flash.each do |message_type, message| 
    .alert class="alert-#{message_type}" 
     = message 

回答

2

的標籤,然後文本將輸出的文本作爲標籤的內容。您可以在文本內使用字符串插值#{expression}來輸出變量。用內插一個變量

內容的文字:

title #{yield(:title)} | Ruby on Rails Tutorial Sample App 

您也可以通過使用tag =設置標籤的內容,以紅寶石表達。

title = yield(:title) + " | Ruby on Rails Tutorial Sample App" 

注意,在這種情況下,如果yield(:title)回報nil

當你有嵌套的標籤,你應該把它們放在單獨的線路,這將無法工作。

+1

感謝您花時間回答這個問題。 – 12init 2014-10-30 18:19:49