为什么Rails.application.assets文件具有

时间:2019-05-07 03:08:20

标签: ruby-on-rails

我正在维护加载CSS的旧代码,如下所示:

<style type="text/css">
  <%= Rails.application.assets[filename].to_s.html_safe %>
</style>

它将在浏览器html中显示,例如

<style type="text/css">
  @charset "UTF-8";
/*
  line 2, xxxx_path
*/
#div1 {
  ...
}

#div2 {
  ...
}
</style>

它在本地运行良好,但在生产时会显示在浏览器HTML中,例如:

<style type="text/css">
  #div1 {...}#div2{...}
</style>

当我将其编辑为HTML时,它实际上显示:

<style type="text/css">
  &#65279;#div1{...}#div2{...}
</style>

因此它导致CSS选择器错误,因为它似乎是&#65279;#div1而不是#div1。 我想知道:

  1. 如何解决?
  2. 为什么会这样?
  3. 为什么我们使用请求来加载stylesheet_link_tag之类的CSS不会出现此问题?

顺便说一句,我尝试过耙asset:compile ENV=produciton仍然在本地工作正常。

0 个答案:

没有答案