2014-12-07 4 views
-1

Я следую инструкциям Tuts + по теме «Создание приложения опроса в рельсах». Я выполнил все основные шаги для настройки приложения.Rails 4: не может потребоваться Bootstrap

С «bootsrap-Sass» драгоценный камень установлен, он просто добавляет *= require bootstrap к application.css файл и сразу же видит измененные результаты на своем сервере. Тем не менее, я получаю следующее сообщение об ошибке ..

локальный: 3000

Sprockets::FileNotFound in Polls#index 
couldn't find file 'bootstrap' 
(in /RAILS/tutspolls/app/assets/stylesheets/application.css:13) 

Extracted source (around line #5): 

    <html> 
    <head> 
    3 <title>Tutspolls</title> 
    4 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    5 <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    6 <%= csrf_meta_tags %> 
    </head> 

Это то, что мои файлы выглядит как ..

Gemfile.rb

source 'https://rubygems.org' 


gem 'rails', '4.1.6' 
gem 'sqlite3' 
gem 'sass-rails', '~> 4.0.5' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.0.0' 
gem 'haml-rails' 
gem 'pry-rails' 

gem 'bootstrap-sass' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0',   group: :doc 

gem 'spring',  group: :development 

group :test do 
    gem 'factory_girl_rails' 
    gem 'minitest-rails' 
end 

stylesheets/application.css

*= require bootstrap 
*= require_tree . 
*= require_self 
*/ 

..и это был добавлен в конфигурации/application.rb

config.sass.preferred_syntax = :sass 

через поиск Google, а также аналогичные вопросы по Stackoverflow, я нахожу подобные вопросы с ответами, которые не работают для меня. Я предполагаю, что это проблема с версией или просто отсутствие понимания между конвейером активов и архитектурой драгоценных камней.

+0

Вы перезапустили сервер приложений? также необходимо бутстрап после require_tree и require_self. – Sajjad

+0

Да, я перезапустил сервер много раз. Я просто попробовал переключение * require bootstrap * после того, как потребовалось дерево и я, но все же вижу ту же ошибку. – shroy

ответ

1

Просмотрев версии Bootstrap, я понял, что учебник немного старше, поэтому я переключился с дефолтного bootstrap-sass, который является версией '~> 3.2.0' на ~> 3.1.1, и он отлично работает.

По-видимому, последняя версия bootstrap-sass не поддерживает *= require bootstrap и скорее использует @import, который является текущим в файле readme. В более ранней версии мне не нужно использовать @import 'bootstrap-sprockets' when utilizing * = `.

1

По readme вам нужно:

1) Удалите старую application.css и создать application.css.scss

2) В новом application.css.scss включить эти строки:

@import "bootstrap-sprockets"; 
@import "bootstrap"; 

и @import "bootstrap-sprockets"должны быть импортированы, прежде @import "bootstrap".

Я вижу, что вы упомянули файл stylesheets/application.rb. Что это? Почему вы используете sass синтаксис в файле .rb? Почему вы используете *= вместо @import? Где импортируется bootstrap-sprockets? Почему вы пропустите его?

+0

Спасибо за ответ и поймаем неправильное расширение файла на моем посту, я обновил его. Учебник, который я использую, использует '* =', и он отлично подходит для него. Я нашел решение и опубликую его в качестве ответа. – shroy

+0

Угадайте, что вы напишете о 'bootstrap-sprockets'. Я упомянул об этой ошибке в своем ответе. –

Смежные вопросы