SlideShare a Scribd company logo
1 of 11
Download to read offline
#7 AJAX-формы
Отображение ошибок и сообщения об успешной
отправке формы без полной перезагрузки страницы
Денис Калесников, главный программист Мэйк
make.st
На этом занятии
Отправка форм и отображение ошибок без перезагрузки.
Роутинг и REST (теория)
Промежуточные итоги курсов
1. Модель из не менее чем 5 таблиц ✔
2. Связи между сущностями ✔
3. Валидация модели предметной области ✔
4. Закрытая часть, вход в которую будет по паролю.
5. CSS-фреймворк Twitter Bootstrap. ✔
6. Компонент Jquery UI
7. Форма с валидацией и асинхронным отображением ошибок
Обработка ajax-форм
1. Перехват события формы on-submit
2. Отправка ajax-запроса на сервер
3. Обработка ответа
4. Отображение ошибок
5. Реакция на успешную отправку формы
Полезные ссылки
http://rusrails.ru/working-with-javascript-in-rails
http://api.jquery.com/insertbefore/
http://api.jquery.com/prepend/
Практическое задание
Открыть страницу https://github.com/seyhunak/twitter-bootstrap-rails
На странице со списком сотрудников, при клике на кнопку “Новый сотрудник”
должно открываться модальное окно с формой.
В случае ошибок над полем ввода нужно вывести текст с ошибкой и обвести
его красной рамкой.
В случае успешного сохранения - добавить новую строку в начало таблицы.
Ответ к заданию
В результате, у вас должны получиться изменения в коде, аналогичные
данному коммиту.
Роутинг
http://rusrails.ru/rails-routing
Маршрут в Rails - связывает URL-запроса и HTTP-метод (get, post, put, patch,
delete) с контроллером и экшеном.
Для просмотра всех возможных маршрутов в консоли выполните
rake routes
REST (Representational state transfer)
Каждая единица информации однозначно определяется URL – это значит, что
URL по сути является первичным ключом для единицы данных. Т.е. например
третья книга с книжной полки будет иметь вид /book/3, а 35 страница в этой
книге — /book/3/page/35.
https://habrahabr.ru/post/38730/
”глаголы” REST
GET /book/ — получить список всех книг
GET /book/3/ — получить книгу номер 3
PUT /book/ — добавить книгу (данные в теле запроса)
POST /book/3 – изменить книгу (данные в теле запроса)
DELETE /book/3 – удалить книгу
Спасибо за внимание!
Денис Калесников, главный программист Мэйк
make.st

More Related Content

Similar to Ruby on Rails. Ajax-обработка html-форм

Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....KazHackStan
 
Beminar js
Beminar jsBeminar js
Beminar jsYandex
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.Igor Shkulipa
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Anton Vidishchev
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.Dmytro Olaresko
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NETVitaly Baum
 
Быстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийYaroslav Tkachenko
 
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...Dev_Party
 
C# Web. Занятие 05.
C# Web. Занятие 05.C# Web. Занятие 05.
C# Web. Занятие 05.Igor Shkulipa
 
C# Web. Занятие 06.
C# Web. Занятие 06.C# Web. Занятие 06.
C# Web. Занятие 06.Igor Shkulipa
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5Microsoft
 
Контроль качества верстки или как начать делать Makeup
Контроль качества верстки или как начать делать MakeupКонтроль качества верстки или как начать делать Makeup
Контроль качества верстки или как начать делать MakeupTimophy Chaptykov
 

Similar to Ruby on Rails. Ajax-обработка html-форм (20)

Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
Алексей Морозов (Россия), Rambler.ru. ASP.NET в помощь хакеру и не только....
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Beminar js
Beminar jsBeminar js
Beminar js
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Аудит веб-приложений
Аудит веб-приложенийАудит веб-приложений
Аудит веб-приложений
 
RichFaces: обзор
RichFaces: обзорRichFaces: обзор
RichFaces: обзор
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
 
Быстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложений
 
Backbone lesson 1
Backbone lesson 1Backbone lesson 1
Backbone lesson 1
 
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...
Валерий Чугреев, ИСЭРТ РАН — Архитектура MVC в контексте web-разработки — про...
 
C# Web. Занятие 05.
C# Web. Занятие 05.C# Web. Занятие 05.
C# Web. Занятие 05.
 
C# Web. Занятие 06.
C# Web. Занятие 06.C# Web. Занятие 06.
C# Web. Занятие 06.
 
Being SOLID
Being SOLIDBeing SOLID
Being SOLID
 
MWWM
MWWMMWWM
MWWM
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5
 
Контроль качества верстки или как начать делать Makeup
Контроль качества верстки или как начать делать MakeupКонтроль качества верстки или как начать делать Makeup
Контроль качества верстки или как начать делать Makeup
 

More from Digital-агентство Мэйк

Системные коммуникации с пациентом
Системные коммуникации с пациентомСистемные коммуникации с пациентом
Системные коммуникации с пациентомDigital-агентство Мэйк
 
Как эффективно развивать и удерживать нужных сотрудников
Как эффективно развивать и удерживать нужных сотрудниковКак эффективно развивать и удерживать нужных сотрудников
Как эффективно развивать и удерживать нужных сотрудниковDigital-агентство Мэйк
 
Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...
Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...
Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...Digital-агентство Мэйк
 
12 эффективных инструментов для отрыва от конкурентов
12 эффективных инструментов для отрыва от конкурентов 12 эффективных инструментов для отрыва от конкурентов
12 эффективных инструментов для отрыва от конкурентов Digital-агентство Мэйк
 
Современные тенденции против устаревших стереотипов
Современные тенденции против устаревших стереотиповСовременные тенденции против устаревших стереотипов
Современные тенденции против устаревших стереотиповDigital-агентство Мэйк
 
Продвижение в соцсетях: 13 эффективных способов
Продвижение в соцсетях: 13 эффективных способовПродвижение в соцсетях: 13 эффективных способов
Продвижение в соцсетях: 13 эффективных способовDigital-агентство Мэйк
 
Crm системы: клиент в центре внимания
Crm системы: клиент в центре вниманияCrm системы: клиент в центре внимания
Crm системы: клиент в центре вниманияDigital-агентство Мэйк
 
Ruby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейсRuby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейсDigital-агентство Мэйк
 
Ruby on Rails. Работа с моделями — продолжение
Ruby on Rails. Работа с моделями — продолжениеRuby on Rails. Работа с моделями — продолжение
Ruby on Rails. Работа с моделями — продолжениеDigital-агентство Мэйк
 
Системный подход к привлечению клиентов
Системный подход к привлечению клиентовСистемный подход к привлечению клиентов
Системный подход к привлечению клиентовDigital-агентство Мэйк
 
Cоциальные сети для молодёжных объединений
Cоциальные сети для молодёжных объединенийCоциальные сети для молодёжных объединений
Cоциальные сети для молодёжных объединенийDigital-агентство Мэйк
 
Эффективный сайт медицинского учреждения
Эффективный сайт медицинского учрежденияЭффективный сайт медицинского учреждения
Эффективный сайт медицинского учрежденияDigital-агентство Мэйк
 
Контекстная реклама: от теории к практике
Контекстная реклама: от теории к практикеКонтекстная реклама: от теории к практике
Контекстная реклама: от теории к практикеDigital-агентство Мэйк
 

More from Digital-агентство Мэйк (18)

Системные коммуникации с пациентом
Системные коммуникации с пациентомСистемные коммуникации с пациентом
Системные коммуникации с пациентом
 
Как эффективно развивать и удерживать нужных сотрудников
Как эффективно развивать и удерживать нужных сотрудниковКак эффективно развивать и удерживать нужных сотрудников
Как эффективно развивать и удерживать нужных сотрудников
 
Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...
Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...
Индивидуальный тюнинг и кастомизации своего продукта как новая стратегия раб...
 
12 эффективных инструментов для отрыва от конкурентов
12 эффективных инструментов для отрыва от конкурентов 12 эффективных инструментов для отрыва от конкурентов
12 эффективных инструментов для отрыва от конкурентов
 
4 шага к счастью клиента
4 шага к счастью клиента4 шага к счастью клиента
4 шага к счастью клиента
 
Современные тенденции против устаревших стереотипов
Современные тенденции против устаревших стереотиповСовременные тенденции против устаревших стереотипов
Современные тенденции против устаревших стереотипов
 
Продвижение в соцсетях: 13 эффективных способов
Продвижение в соцсетях: 13 эффективных способовПродвижение в соцсетях: 13 эффективных способов
Продвижение в соцсетях: 13 эффективных способов
 
Угрозы безопасности в интернете
Угрозы безопасности в интернетеУгрозы безопасности в интернете
Угрозы безопасности в интернете
 
Crm системы: клиент в центре внимания
Crm системы: клиент в центре вниманияCrm системы: клиент в центре внимания
Crm системы: клиент в центре внимания
 
Ограничение доступа в ruby on rails
Ограничение доступа в ruby on railsОграничение доступа в ruby on rails
Ограничение доступа в ruby on rails
 
Ruby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейсRuby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейс
 
Ruby on Rails. Работа с моделями — продолжение
Ruby on Rails. Работа с моделями — продолжениеRuby on Rails. Работа с моделями — продолжение
Ruby on Rails. Работа с моделями — продолжение
 
Обзор Ruby
Обзор RubyОбзор Ruby
Обзор Ruby
 
Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails
 
Системный подход к привлечению клиентов
Системный подход к привлечению клиентовСистемный подход к привлечению клиентов
Системный подход к привлечению клиентов
 
Cоциальные сети для молодёжных объединений
Cоциальные сети для молодёжных объединенийCоциальные сети для молодёжных объединений
Cоциальные сети для молодёжных объединений
 
Эффективный сайт медицинского учреждения
Эффективный сайт медицинского учрежденияЭффективный сайт медицинского учреждения
Эффективный сайт медицинского учреждения
 
Контекстная реклама: от теории к практике
Контекстная реклама: от теории к практикеКонтекстная реклама: от теории к практике
Контекстная реклама: от теории к практике
 

Ruby on Rails. Ajax-обработка html-форм

  • 1. #7 AJAX-формы Отображение ошибок и сообщения об успешной отправке формы без полной перезагрузки страницы Денис Калесников, главный программист Мэйк make.st
  • 2. На этом занятии Отправка форм и отображение ошибок без перезагрузки. Роутинг и REST (теория)
  • 3. Промежуточные итоги курсов 1. Модель из не менее чем 5 таблиц ✔ 2. Связи между сущностями ✔ 3. Валидация модели предметной области ✔ 4. Закрытая часть, вход в которую будет по паролю. 5. CSS-фреймворк Twitter Bootstrap. ✔ 6. Компонент Jquery UI 7. Форма с валидацией и асинхронным отображением ошибок
  • 4. Обработка ajax-форм 1. Перехват события формы on-submit 2. Отправка ajax-запроса на сервер 3. Обработка ответа 4. Отображение ошибок 5. Реакция на успешную отправку формы
  • 6. Практическое задание Открыть страницу https://github.com/seyhunak/twitter-bootstrap-rails На странице со списком сотрудников, при клике на кнопку “Новый сотрудник” должно открываться модальное окно с формой. В случае ошибок над полем ввода нужно вывести текст с ошибкой и обвести его красной рамкой. В случае успешного сохранения - добавить новую строку в начало таблицы.
  • 7. Ответ к заданию В результате, у вас должны получиться изменения в коде, аналогичные данному коммиту.
  • 8. Роутинг http://rusrails.ru/rails-routing Маршрут в Rails - связывает URL-запроса и HTTP-метод (get, post, put, patch, delete) с контроллером и экшеном. Для просмотра всех возможных маршрутов в консоли выполните rake routes
  • 9. REST (Representational state transfer) Каждая единица информации однозначно определяется URL – это значит, что URL по сути является первичным ключом для единицы данных. Т.е. например третья книга с книжной полки будет иметь вид /book/3, а 35 страница в этой книге — /book/3/page/35. https://habrahabr.ru/post/38730/
  • 10. ”глаголы” REST GET /book/ — получить список всех книг GET /book/3/ — получить книгу номер 3 PUT /book/ — добавить книгу (данные в теле запроса) POST /book/3 – изменить книгу (данные в теле запроса) DELETE /book/3 – удалить книгу
  • 11. Спасибо за внимание! Денис Калесников, главный программист Мэйк make.st