我有一个使用HAML(v3.0.25)的Rails应用程序(v2.3.8)。我的application.html.haml目前在顶部声明了以下facebook命名空间,特别是子页面中的FBLike:
!!! 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&元标签是?我还想保留:lang => 'en'目前在哪里;我不想在所有页面中再次声明它。
答案 0 :(得分: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
您可以自定义此操作以获得所需的行为,而不是简单的实例变量test。