Прототип Rails и ненавязчивый Javascript - PullRequest
0 голосов
/ 18 сентября 2010

Я программировал рельсы всего несколько месяцев и впервые был представлен RJS в 2.3.8 рельсах. Хотя вещи немного изменились, и я немного запутался с этим "ненавязчивым JavaScript". Из чтения Google я понимаю это как удаление встроенного JavaScript в отдельный файл.

Из того, что я понял о .rjs, он уже делал это.

Может кто-нибудь объяснить разницу, если она есть? Я все еще пытаюсь сделать этот прыжок к ненавязчивому JS, потому что кажется, что это рельсы 3 пути, но у меня возникают проблемы с этим прыжком. Или ненавязчивый javascript «чистый» js и не похож на ruby, как я понял, что .rjs - это оболочка для javascript. Должен ли я понять, что мне нужно, чтобы начать изучать Java-скрипт? Я очень мало знаю о javascript.

Заранее спасибо за любые советы / подсказки.

1 Ответ

1 голос
/ 18 сентября 2010

Ненавязчивость означает, что вы не должны делать что-то встроенное, как вы сказали.RJS - это нечто иное, в основном помощники ruby, которые генерируют javascript.Что ненавязчиво означает для rails, так это то, что вместо генерации js inline он вместо этого будет украшать объекты dom информацией, достаточной для того, чтобы выяснить, что делать, а затем использовать делегирование событий в качестве альтернативного метода для простого сброса тега script в серединуpage.

Это приводит к намного более чистому выводу и потенциально лучшей производительности, как на стороне клиента (не нужно перезапускать javascript все время, если вы используете делегирование событий), так и на основе ajax (неделать что-то встроенное означает, что вам не нужно вставлять javascript по проводам вместе с вашим html).

RJS - это совсем другое, и это движение практически не изменилось.Как правило, я нахожу, что люди, которые не очень знакомы с тем, как работает javascript, предпочитают подход rjs, поскольку он просто выполняет свою работу.Если вы действительно серьезно относитесь к своему js, скорее всего, вы будете либо использовать файлы js.erb, либо просто возвращать json с сервера и заниматься всем остальным полностью на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...