Форум программистов, компьютерный форум, киберфорум
Ruby on Rails
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24

RoR: программно изменить css (SCSS/SASS 3)

24.03.2012, 22:44. Показов 2648. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
"Могу точно сформулировать вопрос: пусть у нас есть в таблице поле body_color: string, которое имеет значение фона бекграунда, который хотим задать. Есть решение: берем ajax'ом вытаскиваем это значение и подставляем с помощью jquery куда надо. И всё будет работать, НО - это очень грязный стиль, очень много времени будет отнимать...Есть другой вариант - воспользоваться технологийе SCCS (SASS 3) и еще на этапе сервера подставить нужные значения в SCCS файл до компиляции, тем сам уже передать CSS файл с нужными нам данными, и не придется пользоваться никак JQuery)" (c)
вопрос такой - как это сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2012, 22:44
Ответы с готовыми решениями:

Отличия CSS, SCSS, SASS
Собственно, сабж. Листая список вакансия вижу требование - знание SCSS. И чем же работодателям не нравится CSS, который учат все и который...

Sass. scss -директивы?
Собственно вопрос, как упростить код. То есть соединить на выходе active и focus?? Что то я не смог прописать. Не хочет компилиться в моих...

Sass , в dew tools отображаются файлы scss
Не смог найти информации почему так, недавно начал осваивать sass. Вообщем подключаю в шапке обычный css файл который собрался через...

8
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
24.03.2012, 22:59
Цитата Сообщение от Ksusharik Посмотреть сообщение
берем ajax'ом вытаскиваем
если есть возможность сделать на сервере, то лучше выбрать именно этот вариант. Ajax не совсем для этого подходит
0
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
24.03.2012, 23:15  [ТС]
Вот и хочется как раз на сервере RoR сделать,только вот я новичок,недавно начала изучать и столкнулась вот с такой проблемой..Может какие-то функции,методы есть,чтобы прочитать файл,изменить и сохранить?
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
24.03.2012, 23:24
наверное, лучше сгенерировать sass и вставлять прямо на страницу.
Ruby
1
2
3
require 'sass/engine'
#...
@css = Sass::Engine.new("тут sass").to_css
Добавлено через 2 минуты
А вообще зачем так? Вытаскивайте body_color... И в html вставляйте просто
Ruby
1
2
3
<style type="text/css">
body { background-color:<%= @body_color %>; }
</style>
0
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
25.03.2012, 13:49  [ТС]
Хмм,первый способ для моей задачи будет более удобен.Подскажите пожалйста,а куда это вставлять?Оо
и что вообще делает эта процедура..
0
 Аватар для Dimedrol
2378 / 941 / 129
Регистрация: 25.04.2009
Сообщений: 2,635
Записей в блоге: 4
29.03.2012, 13:54
Это надо засунуть в контроллер:
Ruby
1
2
3
4
5
6
require 'sass/engine'
class PageController < ApplicationController
  def index
    @css = Sass::Engine.new("тут sass").to_css
  end
end
А в шаблоне пишете
Ruby
1
2
3
<style type="text/css">
<%= @css %>
</style>
1
 Аватар для Ksusharik
4 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 24
30.03.2012, 10:45  [ТС]
Спасибо))
0
koliabuz
10.05.2012, 10:18
Делал, как описано выше-
Выдает на
Rails
1
@css = Sass::Engine.new("тут sass").to_css
Rails
1
can't convert Sass::Engine::Line into String
=( помоги плиз, кто делал что то подобное(

Вообще проблема в том, что я пытаюсь "искуственно" вызвать копмиляцию scss файлов. По умолчанию это делается при перезагрузке страниц, но мне этот вариант не подходит - я с помощью ajax дописываю пару строк в #{name.file}.css.scss и всё работает, НО только после render'a, но это не возможно в моей ситуации т.к. очень много информации придется "перетаскивать" со страницы на страницу.

Я бы мог просто jQuery методами "дописывать" css. Но мне нужна функционально специальных mixin (библиотека бурбон(http://thoughtbot.com/bourbon/), мб кто слышал) и михины
@include button(param1, param2); не возможно (я по крайне мере не знаю как) включать с помощью jQuery. Если кто знает как заставить jQuery выполинть подобный инклуд, то я буду очень благодарен)

И вообще за любые мысли по решению ситуации приветствуются)

Добавлено через 10 часов 14 минут
Ruby
1
2
test = '@import "bourbon\bourbon"; #b{@include button(simple, #3f8eb3)};'
@css = Sass::Engine.new(test).to_css
если писать так, то ругается на ';'

приходиться писать

Ruby
1
test = '@import "bourbon\bourbon" end #b{@include button(simple, #3f8eb3)};'
но и это не компилируется, а просто выплевывается как строка...(
2 / 2 / 0
Регистрация: 22.02.2010
Сообщений: 14
04.08.2012, 12:46
Лучшим вариантом будет использовать assets pipeline если у вас Rails 3.1.x-3.2.x, или sprockets (https://github.com/jamesmacaul... 3_backport) если Rails 3.0.x.
Использование Sass::Engine больше подход DSL фреймворков. Для Rails есть уже готовые решения, без головной боли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.08.2012, 12:46
Помогаю со студенческими работами здесь

Выбивание галпа при компиляцие SCSS в CSS
Столкнулся со странной проблемой, когда редактирую scss файл и сохраняю, иногда выбивает галп с такой вот ошибкой Вот сам код...

CSS и SASS
Здравствуйте. Я начинающий верстальщик и меня интересует вопрос. Что можно сделать такого на SASS чего нельзя сделать на CSS? Ведь...

Haml+SCSS или простой html+css, на чем писать?
Здравствуйте. Около трех часов назад изучил основы haml, а также чуть, чуть SCSS, появился вопрос, на чем, собственно, лучше, быстрее и...

Как совместить animate.css и sass
Здравствуйте. Я хочу сделать анимацию с помощью animate.css. Стал использовать препроцессор sass и компилирую его с помощью koala. ...

Сверстаю бесплатно Html CSS Sass JS jQuery Gulp Webpack
Приветствую) Предлагаю бесплатную вёрстку по вашим макетам PSD. У меня нет потребности в макетах для вёрстки. У меня есть потребность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru