Rails 3.2 bootstrap-sass не устанавливается

Я пытаюсь установить гем bootstrap-sass в свое приложение Rails 3.2, но сталкиваюсь с этой ошибкой, когда вызываю compass install bootstrap :

Нет такого фреймворка: "бутстрап"

У меня установлен драгоценный камень в моем Gemfile:

gem 'compass', '~> 0.12.2'
group :assets do
  ...
  gem 'sass-rails', '~> 3.2.4'
  gem 'compass-rails', '~> 1.0.3'
  gem 'bootstrap-sass', '~> 2.1.1.0'
end

Я добавил оператор импорта в свой файл application.css.scss:

@import "bootstrap";

Мне требуется начальная загрузка в моем application.js:

//= require jquery
//= require jquery_ujs
//= require bootstrap
...

и я потребовал bootstrap-sass в моем файле config.ru:

require 'bootstrap-sass'

require ::File.expand_path('../config/environment',  __FILE__)

run MYAPP::Application

Кто-нибудь знает, в чем может быть проблема, или сталкивался с такой же проблемой?

Вот git для bootstrap-sass: https://github.com/thomas-mcdonald/bootstrap-sass.git


person suga_shane    schedule 08.11.2012    source источник


Ответы (4)


Bootstrap-sass плохо документирован, мне потребовалось некоторое время, чтобы найти обходной путь. Забудьте о компасе. гемфайл:

gem 'bootstrap-sass', '~> 2.1.1.0'
gem 'bootswatch-rails'

используйте гем bootswatch-rails, чтобы быстро менять темы

в активах/таблицах стилей создайте your_own_sytlesheet.css.scss

    @import "bootswatch/cerulean/variables";

// Then bootstrap itself
@import "bootstrap";

// Bootstrap body padding for fixed navbar
body { padding-top: 60px; }

// Responsive styles go here in case you want them
@import "bootstrap-responsive";

// And finally bootswatch style itself
@import "bootswatch/cerulean/bootswatch";

// Whatever application styles you have go last
//@import "base";

вы можете легко менять темы, заменяя cerulean другими именами.

По крайней мере, это работает для меня сейчас.

person Hao Deng    schedule 11.11.2012

Догадаться...

Поэтому, чтобы установка заработала, мне пришлось вызвать bundle exec compass install bootstrap. Это выполняет compass install bootstrap в контексте пакета, который включает в себя все драгоценные камни. Однако это породило еще несколько проблем.

Установка записала несколько новых загрузочных файлов javascript в мой каталог assets/javascripts. В Rails 3.2 они автоматически загружаются конвейером ресурсов, но в неправильном порядке, поэтому в консоли моего браузера я получал сообщения об ошибках для отсутствующего конструктора и вызывал popover для неопределенного объекта. После копания решение состояло в том, чтобы просто удалить все вновь созданные файлы javascript, поскольку они уже включены, имея //= require bootstrap в application.js.

person suga_shane    schedule 08.11.2012

Для этого не нужен драгоценный камень. Просто скопируйте загрузочные библиотеки (файлы scss и js) в свои активы. Убедитесь, что в вашем application.css.scss больше нет текста перед @import 'bootstrap'; И не нужно редактировать файл config.ru

Также загляните в код своей страницы. Что отображается в application.css? У вас есть пользователь в наследовании контроллера ApplicationController?

person Extazystas    schedule 08.11.2012

В вашем файле драгоценного камня попробуйте сохранить загрузочный драгоценный камень вне актива.

источник 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'bootstrap-sass', '2.1.1'

А затем запустите команду

Установка пакета $.

Затем проверьте и убедитесь, что начальная загрузка установлена ​​с помощью команды.

Список $пакетов

person Bot    schedule 08.11.2012
comment
Это не похоже, что это сработает. Кроме того, это будет включать драгоценный камень в производство, чего я не хочу, потому что мои активы будут предварительно скомпилированы. - person suga_shane; 09.11.2012