Подтвердить что ты не робот

Как использовать компас с рельсами 3.1

Я искал и искал, и все, что я мог видеть, заключалось в том, что для использования компаса с rails 3.1 нужно было просто редактировать Gemfile так:

gem 'compass', :git => 'https://github.com/chriseppstein/compass.git', :branch => 'rails31'
gem 'sass-rails', "~> 3.1.0.rc"

Да, я понимаю это, но что дальше? Каждый учебник, который я видел, говорил именно так, используйте эту определенную вилку. Но у меня все еще есть проблемы с использованием компаса с рельсами 3.1.

Я сделал это:

$ compass init rails . --syntax sass
  directory ./app/stylesheets/ 
  create ./config/compass.rb 
  create ./app/stylesheets/screen.sass 
  create ./app/stylesheets/print.sass 
  create ./app/stylesheets/ie.sass

И так как 3.1 теперь использовал активы, я просто передал все эти файлы в 3.1. Кроме того, я использую плагин compass-960, поэтому, где он мне нужен? Я попробовал добавить compass.rb с требованием 960 и потребовать html5-шаблон, и я все равно продолжаю получать ошибки:

Error compiling asset application.css:
NoMethodError: undefined method `Error' for Compass:Module
  (in /Users/eumir/rails_apps/kiseki/app/assets/stylesheets/screen.sass)

NoMethodError (undefined method `Error' for Compass:Module
(in /Users/eumir/rails_apps/kiseki/app/assets/stylesheets/screen.sass)):

Я попытался сделать компас компиляции, и он дал мне это:

Компиляция

$compass    Нечего компилировать. Если вы пытаетесь запустить новый проект, вы оставите аргумент каталога.    Запустите "compass -h", чтобы получить справку.

Как я уже сказал, я уже отредактировал свой compass.rb, поэтому я все еще не понимаю, как это сделать. Любая помощь?

4b9b3361

Ответ 1

Решения в других ответах устарели с последней версией Compass, v0.12, которая требует, чтобы адаптер работал с приложением rails. Автор Compass, Крис Эпштейн, установил инструкции по установке на github:
https://github.com/compass/compass-rails

Этот адаптер поддерживает рельсы версии 2.3 и выше

Ответ 2

ОБНОВЛЕНИЕ: Похоже, что есть лучший способ!
Источник: http://spin.atomicobject.com/2011/07/12/sass-sprockets-compass-with-rails-3-1/

ОБНОВЛЕНИЕ 2 (2 декабря 2011 г.): Крис Эпштейн, создатель Compass, опубликовал этот Github Gist о том, как интегрировать Compass с Rails 3.1: https://gist.github.com/1184843

Теперь я предпочитаю этот метод по сравнению с моим, так как я заметил значительное улучшение скорости во время компиляции при использовании функции "загрузка".


МОЙ МЕТОД:
(Теперь я считаю, что он устарел, но, возможно, он может быть полезен в некоторых случаях, поэтому здесь он для справки:)

Сначала в вашем Gemfile добавьте:

gem "compass", "~> 0.12.alpha.0"

И не забудьте выполнить

bundle update

Затем в config/application.rb:

config.generators.stylesheet_engine = :sass

Переименуйте application.css.scss в application.css.sass или создайте его и замените его содержимое на:

@import compass
@import _blueprint

(Если вы хотите сохранить новый код манифеста Rails 3.1 в начале таблицы стилей, вам придется заменить "/* */комментарии версией sass-синтаксиса" // в начале каждой строки)

Теперь, чтобы проверить, работают ли компасы и компоновки чертежей, добавьте некоторый код в тот же файл application.css.sass:

@import compass
@import _blueprint
body
  background: black
  +linear-gradient(color-stops(white, black))
  +column(5)

Запустите сервер рельсов с помощью

bundle exec rails server

Загрузите приложение в браузере и посетите http://localhost:3000/assets/application.css

Если все пошло хорошо, вы должны увидеть скомпилированный код.

Источник:

http://blog.pixarea.com/2011/07/using-compass-blueprint-semantic-and-sass-syntax-in-rails-3-1/

Ответ 3

Peter Gumeson из групп пользователей компаса указал мне на исправление для этого:

https://groups.google.com/forum/#!msg/compass-users/mU5HBt8TCIg/2Rt7iSESTSAJ

Здесь его сообщение:

Привет, банда. Этот вопрос github может помочь. https://github.com/sporkd/compass-html5-boilerplate/issues/19

В настоящее время я почти полностью управляю всем. Итак, мой gemfile выглядит примерно так:

gem 'rails',     :git => 'git://github.com/rails/rails.git'
gem 'sass-rails', '~> 3.1.0.rc2'
gem 'haml', :git => 'git://github.com/nex3/haml.git'
gem 'haml-rails'
gem "compass", :git => "git://github.com/chriseppstein/compass.git", :tag => "0.12.alpha.0"
gem 'compass-html5', :git => 'git://github.com/sporkd/compass-html5.git'

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

Петр

* изменил ветки, как сказал choonkeat

Ответ 4

Вы можете загрузить каталог компаса, выгрузить его в vendor/assets/stylesheets, чтобы ваша структура каталогов была vendor/assets/stylesheets/compass. Затем из ваших основных таблиц стилей приложения следует использовать compass mixins ass @include compass/reset;