Альтернативы RJS для Rails

Я слышал, что в RJS идея передачи клиенту js-кода вместо json или html беспокоит многих, и поэтому они избегают RJS. Учитывая то, что именно было бы идиоматическим способом сделать ajax с jquery в инфраструктуре Rails без RJS? Может быть, есть ссылка на учебник, на которую кто-то может указать мне?

1 ответ

Решение

Есть два основных способа достижения AJAX через рельсы:

Первый использует js.erb файлы, :remote => true вариант в ссылках и формах и

respond_to do |format|
  format.js
end

в контроллере. Здесь очень хорошее объяснение того, как это реализовать.

Другой способ - написать простой Javascript (вы наверняка могли бы использовать помощь JQuery), чтобы отправлять запросы AJAX на сервер и обрабатывать их на стороне клиента. При таком подходе Javascript пишется в отдельных файлах JS в папке ресурсов вашего приложения.

По моему опыту, в долгосрочной перспективе лучше использовать второй способ по трем причинам:

  1. Это дает вам полное разделение кода на стороне клиента и на стороне сервера. Один программист может иметь дело только с одним аспектом кода, и это большое преимущество.

  2. Тестировать отдельные файлы JS намного проще, чем файлы js.erb.

  3. Это облегчает повторное использование кода JavaScript и упаковывает его для минимизации и тому подобного, когда вы приступаете к работе.

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