在Rails中在Javascript和Sass之间共享数据的最佳方式?

时间:2016-10-13 19:11:25

标签: 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 Ruby gem导入JSON,然后只需将JSON导入Javascript。

一个比另一个好吗?还有更好的选择吗?

1 个答案:

答案 0 :(得分:1)

我不太确定我了解您想要分享哪种数据,或者为什么需要这样做。您是否考虑过在视图中使用内联CSS设置动态属性?

假设你在一个页面上有一堆文章,每篇文章都有一个在数据库中设置的动态背景颜色,我认为最好的办法是在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 %>