1

我是 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

4

1 回答 1

0

您可以尝试page.call << "myJavascriptFunction(#{arg1},#{arg2},#{arg3})"更多信息,您可以在此处找到。

于 2012-09-10T06:33:48.437 回答