Как использовать компас с рельсами 3.1 - PullRequest
35 голосов
/ 25 июня 2011

Я искал и искал, и все, что я мог видеть, это то, что для использования компаса с рельсами 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 с помощью require 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 compile Нечего компилировать. Если вы пытаетесь начать новый проект, вы оставили аргумент каталога. Запустите "compass -h", чтобы получить помощь.

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

Ответы [ 4 ]

33 голосов
/ 16 июля 2011

ОБНОВЛЕНИЕ : Похоже, что есть лучший способ!
Источник: 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

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


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

Сначала в вашем 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)

Запустите ваш сервер rails с

bundle exec rails server

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

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

* Источник: 1047 *

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

6 голосов
/ 01 февраля 2012

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

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

1 голос
/ 30 июля 2011

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

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

Вот его сообщение:

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

Я сейчас почти все на грани. Так что мой гемфайл выглядит примерно так:

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'

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

Peter

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

0 голосов
/ 08 июля 2011

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

...