mae*_*hue 7 haml ruby-on-rails
基本上我想做的是有一个根application.haml包含核心css和js然后网站布局就像这样
所以我尝试通过向我的控制器添加一个sub_layout来实现这一点,例如我的家庭控制器是一个营销部分:
def sub_layout
    "marketing"
  end
用户使用的实际应用程序的控制器
def sub_layout
   "userapplication"
end
def sub_layout
   "siteadministrators"
end
然后在application.haml中我调用= render(:parital =>"layouts /#{controller.sub_layout}")
这将返回"未定义的方法`格式"为nil:NilClass"
像这里的许多人一样,我对rails和haml很新,特别是虽然我有.NET MVC和Spark View引擎的经验
关于这个haml看起来怎么样的想法?
gun*_*unn 15
正如您所怀疑的那样,有一种标准的,更好的方法.你的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,如果您有多个,则结果会连接在一起.
请享用!
| 归档时间: | 
 | 
| 查看次数: | 4973 次 | 
| 最近记录: |