2013-10-08 117 views
1

我在裏面創建了一個帶有變量的佈局。外部Haml變量

layout.haml:

- title = "Example" 
%title #{title} 

它完美的作品,並給了我這個:

<title>Example</title> 

但是,如果我把這個變量的部分,這是行不通的

_vars.haml:

- title = "Example" 

layout.haml:

=partial "vars" 
%title #{title} 

如何定義外部文檔上的所有變量並使其工作?

感謝您的幫助

+0

你試圖做什麼?翻譯成其他語言?使用I18n。 –

+0

這是一個模板。我想將所有字符串保存在外部文檔中,因此我只需要將其替換一次即可。 –

+0

我找到了解決方案,我必須使用全局變量在變量前面添加「$」...謝謝大家的幫助 –

回答

1

您可能正在尋找內容:

layout.html.haml:

%title= yield(:title) 

_my_partial.html.haml:

- content_for(:title) do 
    Example 
+0

如果我鍵入= yield,它會帶給我所有的html內容,因爲它是一個模板。感謝您的幫助:) –

+0

收益率需要一個參數作爲命名收益。嘗試添加yield(:title)。這將在上面的示例中呈現示例。 – jewilmeer

0

也許你可以把你的共享代碼放在助手中?

# application_helper.rb 
def title 
    @title ||= 'Example' 
end 

之後title幫手可以在主視圖或部分使用。請注意,由於||=,變量的計算僅執行一次。