gpt4 book ai didi

ruby-on-rails - 仅在使用 rails 的特定 HAML 页面上包含命名空间声明

转载 作者:行者123 更新时间:2023-12-04 16:52:05 26 4
gpt4 key购买 nike

我有一个使用 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' 目前的位置;我不想在所有页面中再次声明它。

最佳答案

您始终可以为具有此命名空间标题的 FBML 页面制作不同的布局。也可以创建一个名为 html_tag_attributes 的 View 助手。并使用它:

%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

您可以自定义它以获得您想要的行为,而不是简单的实例变量测试。

关于ruby-on-rails - 仅在使用 rails 的特定 HAML 页面上包含命名空间声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com