我是 ruby 的新手,正在着手一个 rails 项目,并且看到了一些奇怪的东西。
我有一个控制器操作,它在使用 page.call 时不调用 javascript 函数,但它仅在参数数据包含国际字符时才会这样做。如果我修复数据,它会按预期工作。
这是我在 ruby 中所做的事情:
class MyProblemController < ApplicationController
def view
arg1 = ["This", "is", "fine"]
arg2 = ["Data", "datum", "datums"]
arg3 = ["Good", "Bäd", "Ũgly"]
render :update do|page|
page.call("myJavascriptFunction", arg1, arg2, arg3)
end
end
在网页上,我可以在“myJavascriptFunction”中设置一个断点,它永远不会被调用。如果我删除带有变音符号的字符,它就可以正常工作。
作为一个 ruby n00b,这是令人困惑的。这里发生了什么?我怎样才能使它支持国际字符?
我确实在我的 controller.rb 文件顶部尝试了神奇的注释“# encoding: UTF-8”,它没有任何区别,以防万一。
谢谢!
编辑:应用程序正在使用 rails 2.3.2,我无法更改它。正在使用 1.6.0.3 的原型.js