2011-02-01 32 views
2

我有一個使用HAML(v3.0.25)的Rails應用程序(v2.3.8)。我application.html.haml目前在頂部聲明以下Facebook的命名空間,專爲FBLike在子頁:只包含使用rails的特定HAML頁面的名稱空間聲明

!!! 5 
%html{:lang => 'en', 'xmlns:og' => 'http://ogp.me/ns#', 'xmlns:fb' => 'http://www.facebook.com/2008/fbml' } 
    %head 
    ... 

是否有可能從application.html.haml &刪除Facebook的聲明只申報它在我的childpage.html.haml中,FBLike & meta標籤是?我還想保留:lang =>'en'目前的位置;我不想在所有頁面中再次聲明它。

回答

1

您始終可以爲具有此名稱空間標題的FBML頁面製作不同的佈局。它也可以創建一個名爲像html_tag_attributes視圖助手和使用,而不是:

%html{ html_tag_attributes } 

你會定義爲大致爲:

DEFAULT_HTML_ATTRIBUTES = { :lang => 'en', 'xmlns:og' => 'http://ogp.me/ns#' } 
DEFAULT_FBML_ATTRIBUTES = DEFAULT_HTML_ATTRIBUTES.merge('xmlns:fb' => 'http://www.facebook.com/2008/fbml') 

def html_tag_attributes 
    @use_fbml ? DEFAULT_FBML_ATTRIBUTES : DEFAULT_HTML_ATTRIBUTES 
end 

您可以自定義這個有你想要,而不是行爲簡單的實例變量測試。

+0

+1 - 謝謝。一旦你知道如何,這很容易:) – gef 2011-02-01 22:11:25

相關問題