1

私はルビーが初めてで、レールプロジェクトを始めて、奇妙なものを見ています。

page.call が使用されているときに JavaScript 関数を呼び出さないコントローラー アクションがありますが、引数データに国際文字が含まれている場合にのみこれを行います。データを修正すると、期待どおりに機能します。

これが私がルビーでやっていることです:

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

Web ページで、「myJavascriptFunction」にブレークポイントを設定できますが、呼び出されることはありません。分音記号の付いた文字を削除すると、問題なく動作します。

Ruby n00bとして、これは当惑しています。何が起きてる?これで国際文字をサポートするにはどうすればよいですか?

controller.rb ファイルの先頭にある魔法のコメント「# encoding: UTF-8」を試してみましたが、違いはありません。

ありがとう!

編集: アプリは Rails 2.3.2 を使用しており、変更できません。1.6.0.3のprototype.jsを使用しています

4

1 に答える 1

0

ここでpage.call << "myJavascriptFunction(#{arg1},#{arg2},#{arg3})"見つけることができる詳細情報を試すことができます。

于 2012-09-10T06:33:48.437 に答える