Я видел «RJS» и «шаблоны RJS», упоминаемые мимоходом в сообщениях в блогах и учебных пособиях. Я поискал, но все еще не уверен. Это технология, специфичная для Rails, а не стандарт вроде JSON или YAML?
Насколько я понимаю, он используется для «создания JavaScript». Создает ли он общий JS или специфичный для Rails JS, требующий библиотек Prototype и Scriptaculous?





Это Railscast дает хороший пример использования RJS для динамического добавления и удаления полей формы без обращения к серверу с помощью вызова ajax.
Эти советы RJS также может быть полезным.
RJS - это шаблон (похожий на файл html.erb), который генерирует JavaScript, который выполняется браузером в блоке eval в ответ на запрос AJAX. Иногда он используется (неправильно?) Для описания вспомогательных функций JavaScript, Prototype и Scriptaculous, предоставляемых Rails.
RJS был системой шаблонов «ruby-to-js», RJS больше не используется широко в экосистеме Rails. SJR (ответы JavaScript, сгенерированные сервером) теперь предпочтительнее.
Этот пост DHH очень помог мне понять: https://signalvnoise.com/posts/3697-server-generated-javascript-responses
2021 Обновлено: теперь вы должны использовать Hotwire.dev
@ эквивалент8 хорошо! Я знаю, что Basecamp работает над «новой магией в интерфейсе», он должен быть готов к концу 2020 года (см. Dhh в твиттере), я не могу дождаться, когда они нам покажут
Эта «новая магия» представлена на Hotwire, hotwire.dev: «Hotwire - это альтернативный подход к созданию современных веб-приложений без использования большого количества JavaScript, путем отправки HTML вместо JSON по сети».
Просто чтобы уточнить, что «больше не используется широко»: сейчас 2020 год, а RJS все еще используется Basecamp (компания, стоящая за Rails - даже после того, как у них был крупный рефакторинг в 2018 году) и Shopify. Судя по тому, что говорит автор Rails, оно не исчезнет в ближайшее время. Так что RJS все еще можно использовать в производственных приложениях (я все еще использую его в личных проектах)