Ненавязчивый просто означает «Не смешивайте свой HTML с вашим поведением JavaScript». Другой способ сказать это: «Не меняйте свой HTML только потому, что вы хотите использовать JavaScript». Вспомогательные методы rails javascript делают это неким скрытым способом.
Скажем, вы вообще не использовали JavaScript. Если вам нужна форма HTML, вы бы использовали form_for
и имели бы обычную форму. Теперь предположим, что вы хотите добавить JavaScript, чтобы ваша форма отправляла запрос AJAX вместо обычного запроса HttpRequest. У вас есть два способа сделать это.
- Вы можете использовать вспомогательный метод
remote_form_for
- Вы можете использовать что-то вроде jQuery для привязки функции к вызову submit, который отправляет вашу форму через AJAX.
Первый метод навязчив. Вы меняете свою разметку (посмотрите на сгенерированный код). Второй метод ненавязчивый. Используя jQuery и прикрепляя поведение из javascript, вы вообще не изменяете свой HTML.