(Rails) Что такое "RJS"?

Я видел «RJS» и «шаблоны RJS», упоминаемые мимоходом в сообщениях в блогах и учебных пособиях. Я поискал, но все еще не уверен. Это технология, специфичная для Rails, а не стандарт вроде JSON или YAML?

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
33
0
21 805
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Это 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

Просто чтобы уточнить, что «больше не используется широко»: сейчас 2020 год, а RJS все еще используется Basecamp (компания, стоящая за Rails - даже после того, как у них был крупный рефакторинг в 2018 году) и Shopify. Судя по тому, что говорит автор Rails, оно не исчезнет в ближайшее время. Так что RJS все еще можно использовать в производственных приложениях (я все еще использую его в личных проектах)

equivalent8 11.04.2020 08:57

@ эквивалент8 хорошо! Я знаю, что Basecamp работает над «новой магией в интерфейсе», он должен быть готов к концу 2020 года (см. Dhh в твиттере), я не могу дождаться, когда они нам покажут

Nicolas Maloeuvre 10.08.2020 05:31

Эта «новая магия» представлена ​​на Hotwire, hotwire.dev: «Hotwire - это альтернативный подход к созданию современных веб-приложений без использования большого количества JavaScript, путем отправки HTML вместо JSON по сети».

Jochem Schulenklopper 29.12.2020 00:30

Другие вопросы по теме