Получение SASS для генерации CSS-файлов из нескольких каталогов - PullRequest
1 голос
/ 14 ноября 2010

Довольно новый для Rails. Я занимаюсь редизайном домашней страницы на сайте Rails. В настоящее время мы переместим обновленную домашнюю страницу, но оставим остальную часть сайта как есть. Позже мы перенесем оставшуюся часть сайта на новый дизайн.

Я хотел бы создать «ветку» CSS внутри текущего проекта, которая загружается только домашней страницей. Мы используем SASS для генерации CSS. Расположение файла:

/public/stylesheets:         #Generated CSS for rest of site
/public/stylesheets/sass:    #SASS source files for rest of site
/public/stylesheets/v3:      #Desired location for CSS for home page
/public/stylesheets/v3/sass: #SASS source files for new-style home page

Контроллер для / вызывает render :layout => 'v3', и этот макет содержит:

!= include_stylesheets :common_v3, :media => "all"

Вот соответствующий раздел из assets.yml:

stylesheets:
  common:
    - public/stylesheets/reset.css
    - public/stylesheets/*.css

  common_v3:
    - public/stylesheets/v3/reset.css
    - public/stylesheets/v3/*.css

Может ли кто-нибудь помочь мне понять, как заставить SASS генерировать новые файлы CSS? Если я добавлю новый файл в /public/stylesheets/sass, будет создан соответствующий файл CSS, но каталог v3 игнорируется.

Я попробовал следующее в environment.rb, но он не работает.

Sass::Plugin.options[:template_location] =  %W( #{RAILS_ROOT}/public/stylesheets/sass #{RAILS_ROOT}/public/stylesheets/v3/sass )

Использование Rails 2.3.8 с Haml 2.2.2.

1 Ответ

2 голосов
/ 19 ноября 2010

Сначала обновите Haml / Sass до последней версии (3.0.24).

Теперь вы можете использовать Sass::Plugin.add_template_location метод , чтобы сообщить Sass, где находятся ваши шаблоны. Например:

Sass::Plugin.add_template_location("#{RAILS_ROOT}/public/stylesheets/v3/sass",
                                   "#{RAILS_ROOT}/public/stylesheets/v3")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...