nop*_*ole 7 haml ruby-on-rails sass
如果在Ruby on Rails上使用HAML,那么
:sass
#someDiv
border: 3px dashed orange
Run Code Online (Sandbox Code Playgroud)
<style>他们周围不会有任何标签.
然后
:css
:sass
#someDiv
border: 3px dashed orange
Run Code Online (Sandbox Code Playgroud)
不会踢过:sass滤器,但是
:css
:sass
#someDiv
border: 3px dashed orange
Run Code Online (Sandbox Code Playgroud)
将踢过:sass滤器,但它在<style>标签之外.那么如何使用:sass滤波器呢?我们可以手动环绕<style>它,但是我们想要从sass生成css而不是<style>HAML文件中的标记内部并不常见.
Awg*_*wgy 12
与此问题相关的文档是在这里,在haml-lang.com和更详细的解释了sass-lang.com.
我相信你缺少的是不应该在你的haml文件中使用sass.它们应放在带有.sass扩展名的public/stylesheets/sass中.它们将被编译为public/stylesheets中的.css文件,然后将其链接到您的布局中.
来自sas-lang.com链接:
例如,public/stylesheets/sass/main.scss将被编译为public/stylesheets/main.css.
然后,您将使用stylesheet_link_tag帮助程序(或手动链接样式表):
<%= style_sheet_link_tag 'main' %>
Run Code Online (Sandbox Code Playgroud)
如果你真的需要在haml中使用sass,这就是答案.你不能在haml中嵌套过滤器.你显然需要做这样的事情:
%style(type="text/css")
:sass
div
color: red
Run Code Online (Sandbox Code Playgroud)
我相信这是haml google小组的原始回复.
sam*_*sam 10
:sass现在,过滤器将其输出包装在样式标记中,new:less和:scss过滤器也是如此.
在4.0.0之前,只需将其包装%style:
%style
:sass
// so sassy! ;)
Run Code Online (Sandbox Code Playgroud)