如果在
Ruby on Rails上使用HAML,那么
:sass #someDiv border: 3px dashed orange
不会有任何< style>在他们周围标记.
然后
:css :sass #someDiv border: 3px dashed orange
不会踢:sass过滤器,但是
:css :sass #someDiv border: 3px dashed orange
将启用:sass过滤器,但它在< style>之外标签.那么如何使用:sass过滤器呢?我们可以手动包装< style>围绕它,但我们想要从sass生成css但不在内部< style>内生成css并不常见. HAML文件中的标记.
解决方法
与您的问题相关的文档是haml-lang.com上的
here以及
sass-lang.com的更详细说明.
我相信你缺少的是不应该在你的haml文件中使用sass.它们应放在带有.sass扩展名的public / stylesheets / sass中.它们将被编译为public / stylesheets中的.css文件,然后将其链接到您的布局中.
来自sas-lang.com链接:
For instance,public/stylesheets/sass/main.scss would be compiled to public/stylesheets/main.css.
然后,您将使用stylesheet_link_tag帮助程序(或手动链接样式表):
<%= style_sheet_link_tag 'main' %>
如果你真的需要在haml中使用sass,here就是答案.你不能在haml中嵌套过滤器.你显然需要做这样的事情:
%style(type="text/css") :sass div color: red