LESS循环函数不在Rails 4中编译

时间:2015-04-02 23:53:50

标签: ruby-on-rails less

我似乎无法解决为什么没有编译较少循环函数的问题。我已验证代码在winless.orglesstester都有效。以下是代码(我已将其缩短):

@action-color:  #00ffff;  //aqua
@adventure-color: #000000;  //black
@animation-color: #0000ff;  //blue 

.genre-names(
  ~"action",
  ~"adventure",
  ~"animation";
);
.genre-names(@list, @index: 1) when (isstring(extract(@list, @index))) {
    @genre: extract(@list, @index);

    .@{genre} {
      background-color: ~'@{@{genre}-color}';
    }
    .genre-names(@list, (@index + 1));
}

编译后的输出应如下所示:

.action {
  background-color: #00ffff;
}
.adventure {
  background-color: #000000;
}
.animation {
  background-color: #0000ff;
}

它位于colors.css.less目录中的assets/stylesheets。我已经将代码移动到不同的工作表中,这些工作表仍然无法正常工作。

我正在使用正常工作的rails-less-bootstrap gem。作为这个宝石安装的家属,我也有以下宝石:

less (2.3.3)
less-rails (2.3.3)
less-rails-bootstrap (3.0.2)
libv8 (3.16.14.7 x86_64-darwin-14)
sprockets (2.12.3)
sprockets-rails (2.2.4)
therubyracer (0.12.1)

我已经尝试清除我的缓存和链接文件以及预编译。编译后的代码并没有显示出来。请帮忙!

1 个答案:

答案 0 :(得分:0)

代表@ seven-phases-max发布此消息,他在我的原始帖子的评论中回答了这个问题。这是因为我使用的less-rails-bootstrap宝石使用旧版本的Less(1.3.3)。