1

RoR では、Ajax (form_remote_tag を使用) が成功コードを返すと、視覚効果を処理するために Javascript も返されます。(これが RJS メカニズムです)

Fiddler を使用すると、次の応答が表示されます。

try {
Element.update("vote_score", "Score 58");
$("vote_score").visualEffect("highlight");
} catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"vote_score\", \"Score 58\");\n$(\"vote_score\").visualEffect(\"highlight\");'); throw e }

コードが非常に大きい (1 や 2k のように) 状況はありますか? RJS は、効果を処理するために既に読み込まれている何らかの静的 Javascript を使用できますか?

ページに既に読み込まれている静的 Javascript を使用する他の方法はありますか? 生の Javascript だけで、プロトタイプの Ajax 成功応答を使用して静的な Javascript コードを呼び出す必要がありますか、それとも RJS に関連する Rails メカニズムである可能性がありますか?

4

2 に答える 2

1

コードをすでに JavaScript ファイルまたはページの先頭に配置して、RJS 呼び出しで参照させることができます。返されたコードは、ページに既に存在する機能を実行できます。

構文は次のとおりです。

page.call 'function_name', arg1, 'Second arg', 'etc...'
于 2010-05-24T19:27:18.530 に答える
0

できますが、RJS やその他の RoR ヘルパー メソッドは使用できません。AJAX 経由でサーバーにリクエストを送信し、JavaScript コードをロードする代わりにクライアント側で解析する短い JSON または XML レスポンスを返します。

特に素晴らしいパターンは控えめな javascriptを使用することです。HTML では、ロード時にコールバックを追加する小さな部分を除いて JS について言及していません (レール 3 での使用方法)。

于 2010-05-24T12:40:08.597 に答える