Rails:包含javascript时出错

时间:2017-02-01 18:30:13

标签: javascript ruby-on-rails ruby ruby-on-rails-3

我在另一个非Rails网站上有一些JavaScript,适用于浏览器端的表格。如果我在外部网站的Rails应用程序中引用它,它可以正常工作:

<script type="text/javascript" src="http://10.1.10.36/sort.js"></script>

如果我把它放在assets / javascripts文件夹中,我会收到错误:

Encoding::InvalidByteSequenceError in Taxes#index
Showing /home/asa/Rails/home/app/views/layouts/application.html.erb where line #8 raised:
"\xA3" on UTF-8

你能指出我这个错误是什么,为什么我得到它,我该如何解决?

我确实找到了一个名为sort.js.erb的引用,并包含以下行:

<%# encoding: utf-8 %>

但这没有任何区别。

或者,有没有办法可以将这个JavaScript放在网站上并使用固定的引用呢?我没有成功。

2 个答案:

答案 0 :(得分:0)

此文件参考属于您的

layouts/application.rb

文件或您用于视图的任何布局。把它放进

<header>

该文件的部分,它将正常工作。 否则请阅读

TheAsset Pipeline of rails

答案 1 :(得分:0)

我对同样的问题之以鼻,并通过将Javascript文件转换为utf-8格式解决了该问题。 之前:

  

$ file -i sorttable.js
  sorttable.js:text / html; charset = iso-8859-1

转化:

  

$ iconv -f iso-8859-1 -t utf-8 sorttable.js -o sort.js

删除旧文件,重命名新文件...

结果:

  

$ file -i sorttable.js
  sorttable.js:text / html; charset = utf-8

并且在调试器控制台中没有更多错误。