Альтернативы 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 в папке ресурсов вашего приложения.
По моему опыту, в долгосрочной перспективе лучше использовать второй способ по трем причинам:
Это дает вам полное разделение кода на стороне клиента и на стороне сервера. Один программист может иметь дело только с одним аспектом кода, и это большое преимущество.
Тестировать отдельные файлы JS намного проще, чем файлы js.erb.
Это облегчает повторное использование кода JavaScript и упаковывает его для минимизации и тому подобного, когда вы приступаете к работе.