RailsのJavaScriptヘルパーメソッドは「控えめなJavaScript」を防ぐとライアンベイツが言っているのを聞いた。
これは正しいですか?もしそうなら、誰かが理由を説明できますか?
RailsのJavaScriptヘルパーメソッドは「控えめなJavaScript」を防ぐとライアンベイツが言っているのを聞いた。
これは正しいですか?もしそうなら、誰かが理由を説明できますか?
目立たないというのは、「HTML と JavaScript の動作を混ぜないでください」という意味です。別の言い方をすれば、「JavaScript を使いたいからといって HTML を変更しないでください」ということです。Rails の JavaScript ヘルパー メソッドは、一種の隠れた方法でそれを行います。
JavaScript をまったく使用していなかったとします。HTML フォームが必要な場合form_for
は、通常のフォームを使用します。ここで、フォームが通常の HttpRequest ではなく AJAX リクエストを送信するように、javascript を追加するとします。これを行うには 2 つの方法があります。
remote_form_for
最初の方法は邪魔です。マークアップを変更しています (生成されたコードを見てください)。2 番目の方法は控えめです。jQuery を使用し、javascript から動作をアタッチすることで、HTML をまったく変更しません。
Rails ヘルパーは onclick イベントを html に直接追加します。目立たないということは、ユーザーがjavascriptを無効にしてもページが機能することを意味するといつも思っていましたが、入力中にjason punyonの回答がポップアップした後、チェックインしました。
実際、javascript を html から完全に分離する手法は控えめな javascript と呼ばれています。