#javascript #css #ruby-on-rails #ruby #sass
#javascript #css #ruby-on-rails #ruby #sass
Вопрос:
Каков наилучший способ обмена данными между Javascript и Sass?
Я вижу два варианта:
1) Используйте что-то вроде sass-json-vars
, чтобы иметь возможность передавать @import
файлы JSON в Sass, а затем просто импортировать JSON в Javascript.
2) Используйте .css.scss.erb
файлы конвейера ресурсов Rails, и в этот файл CSS импортируйте JSON с помощью json
Ruby gem, затем просто импортируйте JSON в Javascript.
Один лучше другого? Есть ли еще лучший вариант?
Ответ №1:
Я не совсем уверен, что понимаю, какими данными вы хотите поделиться, или почему это было бы необходимо. Рассматривали ли вы возможность простой установки динамических свойств с помощью встроенного CSS в ваших представлениях?
Допустим, у вас есть куча статей на странице, и каждая статья имеет динамический цвет фона, который задан в базе данных, я думаю, что лучше всего было бы создать свой класс article с разумным фоном по умолчанию в SASS, а затем переопределить его в ваших представлениях erb следующим образом:
SASS
.article {
background-color: #ddd;
}
ERB
<% @articles.each do |article| %>
<article class="article" style="background-color: <%= article.background_colour %>">
<%= article.title %>
</article>
<% end %>