ruby-on-rails – HAML和嵌套布局
基本上我想做的是有一个根application.haml包含核心css和js然后网站布局就像这样
> application.haml > marketing.haml(s)有自己的css和标记 所以我尝试通过向我的控制器添加一个sub_layout来实现这一点,例如我的家庭控制器是一个营销部门得到: def sub_layout "marketing" end 用户使用的实际应用程序的控制器 def sub_layout "userapplication" end def sub_layout "siteadministrators" end 然后在我调用的application.haml中 这将为nil返回“未定义的方法`格式”:NilClass“ 像这里的许多人一样,我对rails和haml很新,特别是虽然我有.NET MVC和Spark View引擎的经验 关于这个haml是什么样子的任何想法? 解决方法
正如您所怀疑的那样,有一种标准的,更好的方法.
你的application.haml: !!! XML !!! %html %head %title Title = stylesheet_link_tag 'global' = yield :styles %body #content = yield = yield :scripts 然后你的marketing.haml: - content_for :styles do = stylesheet_link_tag 'marketing' - content_for :scripts do = javascript_include_tag 'marketing' %h1 It's Marketing time! ‘content_for:styles’块中的任何内容都会在布局中相应的yield的上下文中执行.你不需要为每个产量都有一个content_for,如果你有多个,结果会被连接起来. 请享用! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |