Rails从2.3升级到3.2时JavaScript呈现为文本

3

最近,我正在将一个Rails应用程序从2.3版本升级到3.2版本。我注意到在html.erb文件中编写的JavaScript表现出了奇怪的行为。这在我升级过的其他应用程序中从未发生过。

我正在升级到 Ruby 1.9.3 Rails 3.2.14

目前jquery版本是1.4,一旦应用程序完全移植,我会将其升级到1.9或1.10。

问题在于,每当我们在模板中编写一些JS并且该JS在某个点上具有比较大的条件时,之后编写的任何JS代码都会作为文本呈现在页面上,而不会在firebug中出现任何JS错误。我已经附上了屏幕截图,请看一下。

当我将该JS代码删除到.js文件中时,此问题消失了。我认为这与ERB模板解析有关,因为相同的代码在rails 2.3应用程序中运行良好。

enter image description here

在屏幕截图中,JS代码呈现为类似于

" 0) jQuery("#li_" + caab_jurisdiction_name).show();..." 

它始于像这样的东西

"if (jQuery("#mortgage_product_group_econveyance_editions").attr("value").indexOf(caab_jurisdiction_value) >  0) jQuery("#li_" + caab_jurisdiction_name).show();..."
1个回答

0

不好意思,你没有理解问题。这不是 Ruby 字符串,而是在视图文件中编写的 JS 代码。它只是一个简单的 HTML 文件,其中包含一些 JavaScript 代码在 script 标签中。 - Naveen Agarwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接