“未定义的mixin'盒子尺寸'”,在导轨中,使用罗盘轨

时间:2014-02-23 04:28:12

标签: ruby-on-rails gem sass

这是错误消息:

Undefined mixin 'box-sizing'.
(in /var/www/site/spree/app/assets/stylesheets/store/neat/_neat.scss:3)

条件:

我正在使用rails 4.0.2

我已经安装了compass-rails gem,并运行'bundle'。我还安装了宝石“波本威士忌”和“整洁”。

在'site / spree / app / assets / stylesheets / mystylesheet.css.scss'中,我有这个:

@import "bourbon/bourbon";
@import "neat/neat";

整洁需要指南针提供的mixin“box-sizing”。然而,mixin并没有被拿起。

我尝试添加@import“box-sizing”,@ import“指南针/盒子大小”。,@ import“compass / css3 / box-sizing”

这些线都不起作用:rails仍然完全无法访问指南针混音。

这是我的整个gemfile:

source 'https://rubygems.org'
ruby '2.1.0'
gem 'rails', '4.0.2'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails', '~> 3.0.0'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
gem 'mysql2'

group :development do
   gem 'better_errors'
   gem 'binding_of_caller', :platforms=>[:mri_21, :rbx]
   gem 'rails_layout'
end

group :development, :test do
   gem 'factory_girl_rails'
end


gem 'compass-rails'
gem 'bourbon'
gem 'neat'

gem 'spree', '2.1.4'
gem 'spree_gateway', :git => 'https://github.com/spree/spree_gateway.git', :branch => '2-1-stable'
gem 'spree_auth_devise', :git => 'https://github.com/spree/spree_auth_devise.git', :branch => '2-1-stable'

3 个答案:

答案 0 :(得分:1)

您需要稍微修改语法,因为现在不推荐使用旧式调用box-sizing。 如果您以旧式@include box-sizing(border-box)调用它,请将其更改为box-sizing: border-box;它对我有效。

答案 1 :(得分:0)

您应该在assets group

中安装指南针
  

将compass-rails gem行添加到名为的组中:资源在应用程序的Gemfile中(Rails 3.1+用户应该已经拥有:assets组):

来源:https://github.com/Compass/compass-rails

@ Fire-Dragon-DoL所说的是检查宝石是否具有支持box-sizing的正确版指南针

答案 2 :(得分:0)

Rails 4确实删除了资产组(所以如果你有那条线就把它取出来)。 我和你有同样的问题,在我的gemfile中更改我的指南针轨道源解决了它:

gem 'sass-rails'
gem 'compass-rails', github: 'Compass/compass-rails'

然后删除Gemfile.lock文件并使用bundle命令重新生成它。

rm Gemfile.lock
bundle

然后在我的scss文件中我有:

@import "compass";
@import "compass/reset";
@import "compass/css3/box-sizing";