使用HAML包含CSS和javascript标记的简短方法

时间:2013-05-02 07:16:15

标签: ruby haml

在HAML中包含javascript或CSS时,通常必须执行以下操作才能包含CSS:

%link{:type => "text/css", :rel => "stylesheet", :href => "/css/mycss.css"}

对于javascript:

%script{:type => "text/javascript", :src => "/js/myscript.js"}

我想知道HAML是否没有简短的方法来包含这些标记(从当然来源获取内容,而不是内联),而忽略了typerel属性的需要,因为无论如何这些都是不变的。

请注意,Ruby on Rails通过函数提供此功能,但我没有使用rails。

2 个答案:

答案 0 :(得分:24)

您不需要脚本的type属性,您可以使用html语法

%script(src="/js/myscript.js")

如果您愿意,可以随时创建一个“助手”来生成它

答案 1 :(得分:1)

我认为Ven所说的可能就像......

# For CSS files...
def styletag(:sheet_name)
  "<link rel='stylesheet' href='/styles/#{:sheet_name}.css'>"
end

# For js files...
def jstag(:script_name)
  "<script src='/js/#{:script_name}.js'></script>"
end

然后,在您的模板中,您可以使用以下内容:

- styletag "mystyles"
- jstag "myscript"