Использование значения базы данных в файле LESS в Rails - PullRequest
2 голосов
/ 22 марта 2012

Я установил драгоценный камень less-rails , так как мне не терпится воспользоваться предложениями LESS по манипулированию цветами.Мне нужно извлечь цвет из моей базы данных в качестве базового цвета моей темы и создать оттуда.

У меня есть статический CSS, и я переименовал его в styles.css.less, чтобы rails понимал меньшее расширениеЭто выглядит так.

Следующее, что я попробовал, было также обернуть файл как erb, чтобы можно было разрешить обработку строковых литералов ruby ​​перед отправкой в ​​LESS и, в конечном итоге, для вывода в виде действительного CSS (все еще сменя?)

Файл теперь называется style.css.less.erb.В то время как файл simple содержит действительный CSS, обработка документа работает.Как только я добавляю строковый литерал ruby, он выходит из строя.

color: #{"#112233"};

В отладчике chrome ничего после этой строки не обрабатывается.

Что я делаю неправильно и как следуетЯ делаю то, что пытаюсь сделать?

1 Ответ

1 голос
/ 13 апреля 2012

Как говорит Чоулетт в комментариях, вы должны использовать синтаксис erb: <%= "#112233" %> Следующий шаг - получить это значение из БД. Если это значение цвета для всего приложения, возможно, вы ищете настройки в db solution. Для этого я использую rails-settings-cached gem. Ваш код результата будет выглядеть как

color: <%= Setting.foo_color %>

Если вы используете активы на производстве, не забудьте перекомпилировать их после каждого изменения настроек.

И если это не настройка, а, вероятно, что-то специфическое для каждого пользователя, вы не можете использовать для этого файлы CSS приложения, но вы можете писать встроенные CSS в представлениях.

...