Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.1 用HAML对SCSS进行预处理_Ruby On Rails 3.1_Haml_Sass_Asset Pipeline - Fatal编程技术网

Ruby on rails 3.1 用HAML对SCSS进行预处理

Ruby on rails 3.1 用HAML对SCSS进行预处理,ruby-on-rails-3.1,haml,sass,asset-pipeline,Ruby On Rails 3.1,Haml,Sass,Asset Pipeline,我有一个应用程序,有一些类别:西红柿,橘子,香蕉。 每个类别都有自己的颜色保存在数据库中:FF0000、FF6600、FFFF00。 应用程序中还有一些属于某个类别的帖子 我希望HAML和/或SASS根据类别名称/颜色生成类,如: .tomato header { background-color: #FF0000; } .tomato aside { background-color: lighten(#FF0000, 0.5); } .orange header { background

我有一个应用程序,有一些类别:西红柿,橘子,香蕉。 每个类别都有自己的颜色保存在数据库中:FF0000、FF6600、FFFF00。 应用程序中还有一些属于某个类别的帖子

我希望HAML和/或SASS根据类别名称/颜色生成类,如:

.tomato header { background-color: #FF0000; }
.tomato aside  { background-color: lighten(#FF0000, 0.5); }

.orange header { background-color: #FF6600; }
.orange aside  { background-color: lighten(#FF6600, 0.5); }

.banana header { background-color: #FFFF00; }
.banana aside  { background-color: lighten(#FFFF00, 0.5); }
正如您所看到的,我想循环
categories
表并使用列出的SASS函数。下面是不起作用的示例/伪代码:

- @categories.each |category|
  :sass
    .#{category.slug} header { background-color: ##{category.color}; }
    .#{category.slug} aside  { background-color: lighten(##{category.color}, 0.5); }
有什么建议我可以做到这一点吗

要记住的事情:

  • 我不想要内联(在post中)样式表
  • 我使用HAML和SASS(SCSS风格)
  • 我运行Rails 3.1

使用Rails 3.1资产管道,首先以ERB的形式运行代码,然后以Sass的形式运行代码(因此文件名类似于application.css.Sass.ERB),并为ERB提供一个变量,您可以迭代并创建一些SAS。这在你的情况下行吗?

在网站的标题部分,我有
=样式表\u链接\u标记“类别”
。在
app/assets/stylesheets
目录中,我有一个名为
categories.css.scss.erb
的文件。该文件包含用于循环
@categories
实例变量的ERB代码。运行时,我得到以下错误:
计算nil时出错。因此
@categories
为nil。我确信
@categories
不是零。