compass install bootstrap -> NoMethodError on line ["32"] ... sass-rails-3.2.6/lib/sass/rails/helpers.rb: undefined method `[]' for nil:NilClass

StackOverflow https://stackoverflow.com/questions/16027319

Pregunta

After running this command

compass install bootstrap

I get this message:

identical sass/styles.scss

...

identical javascripts/bootstrap-typeahead.js
NoMethodError on line ["32"] of /Users/xxx/.rvm/gems/ruby-1.9.3-p327@favy/gems/sass-rails-3.2.6/lib/sass/rails/helpers.rb: undefined method `[]' for nil:NilClass
Run with --trace to see the full backtrace

in /Users/xxx/.rvm/gems/ruby-1.9.3-p327@favy/gems/sass-rails-3.2.6/lib/sass/rails/helpers.rb

 31     def resolver
 32       options[:custom][:resolver]
 33     end

I tried a workaround -> https://gist.github.com/castus/4044953

def resolver
  if ::Rails::env == "production"
    options[:custom][:resolver]
  else
    Resolver.new(CompassRails.context)
  end
end

& still no luck :)

I have this stuff in my config/compass.rb

require 'bootstrap-sass'

And my Gemfile

source 'http://rubygems.org'

gem "paperclip"
gem 'bootstrap-sass', '~> 2.3.1.0'
gem 'compass-rails'
gem 'bootswatch-rails'

gem 'gmaps4rails'

gem 'rails', '3.2.13'
gem 'activerecord-postgresql-adapter'
gem 'devise'
gem 'sass-rails', '~> 3.2.3'
gem "haml"
gem "haml-rails"

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'
¿Fue útil?

Solución

You don't need "Compass" at all if you are using Rails and Bootstrap-sass. Compass is for sites not using Rails.

Here are steps to install and bootstrap-sass

  1. Add it to Gemfile and bundle install

  2. Rename application.css to application.css.scss

  3. Remove all comments in application.css.scss, make it blank

  4. Add @import bootstrap

You are done! Treat it as normal css file and use @import to do whatever you like. But no more require in comment!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top