2

RailsのJavaScriptヘルパーメソッドは「控えめなJavaScript」を防ぐとライアンベイツが言っているのを聞いた。

これは正しいですか?もしそうなら、誰かが理由を説明できますか?

4

2 に答える 2

3

目立たないというのは、「HTML と JavaScript の動作を混ぜないでください」という意味です。別の言い方をすれば、「JavaScript を使いたいからといって HTML を変更しないでください」ということです。Rails の JavaScript ヘルパー メソッドは、一種の隠れた方法でそれを行います。

JavaScript をまったく使用していなかったとします。HTML フォームが必要な場合form_forは、通常のフォームを使用します。ここで、フォームが通常の HttpRequest ではなく AJAX リクエストを送信するように、javascript を追加するとします。これを行うには 2 つの方法があります。

  1. ヘルパーメソッドを使用できますremote_form_for
  2. jQuery などを使用して、AJAX 経由でフォームを送信する送信呼び出しに関数をバインドできます。

最初の方法は邪魔です。マークアップを変更しています (生成されたコードを見てください)。2 番目の方法は控えめです。jQuery を使用し、javascript から動作をアタッチすることで、HTML をまったく変更しません。

于 2009-10-25T04:27:39.877 に答える
0

Rails ヘルパーは onclick イベントを html に直接追加します。目立たないということは、ユーザーがjavascriptを無効にしてもページが機能することを意味するといつも思っていましたが、入力中にjason punyonの回答がポップアップした後、チェックインしました。

実際、javascript を html から完全に分離する手法は控えめな javascript と呼ばれています。

于 2009-10-25T04:32:52.300 に答える