【问题标题】:Rails: Why does adding translation to a page cause the javascript script tags to be garbled?Rails:为什么向页面添加翻译会导致 javascript 脚本标签出现乱码?
【发布时间】:2012-04-21 12:10:50
【问题描述】:

通过用<%= t(:something) %> 语句替换字符串来使页面可翻译触发了一个奇怪的行为,其中javascript script 标记出现乱码。

这是一个示例:

<script src="/assets/jquery.js?body=1" type="text/jipt>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/modernizr.js?body=1" type="text/javascript"></script>
<script src="/assets/controls.js?body=1" type="text/javascript"></script>

这可能是什么原因造成的?

作为记录,我正在运行 Rails 3.2.3、Ruby 1.9.2p290,并且正在使用常规资产管道在开发环境中生成脚本标签。

更新:

我已将范围缩小到页面的长度。显然,rails(或 Webrick)开始对页面进行超出一定长度的处理。

【问题讨论】:

  • 你能指出脚本标签有什么问题吗?
  • 如果您查看代码 sn-p,您会看到,例如,第一个 script 标签的 type 属性已损坏。只是一个例子,行为并不一致。
  • 如果您使用不同的堆栈(如 Pow 或Passenger/nginx)运行此应用程序会发生什么?这可能有助于将其缩小为 Rails 错误或 Webrick 错误。

标签: ruby-on-rails ruby openssl macports


【解决方案1】:

问题最终与翻译无关。原因是一个旧的 openssl 被链接到。

因此更新 mac 端口并重新安装 ruby​​ 1.9.3(从源代码)解决了问题:

$ port selfupdate
$ sudo port upgrade outdated
$ rvm remove ruby-1.9.3-p125
$ rm -rf /Users/XXXXXXX/.rvm/gems/ruby-1.9.3-p125/
$ rvm install 1.9.3-p125
$ rvm use ruby-1.9.3-p125
$ gem install rails
$ bundle

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    相关资源
    最近更新 更多