“Рельсы”) - это “каркас” для создания веб-приложений. Рельсы - это удобная “рамка”, в которую можно расположить нужные элементы (как фотографии в альбом). С Рельсами не обязательно разбираться в нюансах работы веб-сервера, базы данных, и других технических скучностях. Saturday, October 6, 12
обыкновенным текстовым документом, который был набран в текстовом редакторе, например, в Ворде. Такие веб-странички до сих пор встречаются на просторах Сети. Но... Saturday, October 6, 12
вручную. Хотелось более “живых” страниц, которые можно было не только смотреть, но и изменять их содержимое без привлечения редактора. Вывод: странички должна была создавать программа (веб-приложение). Saturday, October 6, 12
сайте очень похожи друг на друга; например, страница одного пользователя ВКонтакте состоит из тех же элементов (аватарка, ник, стена), что и любого другого. Набирать каждую такую страницу вручную оказалось неудобно и непрактично. Saturday, October 6, 12
которой все изменяющиеся места заменили на “пробелы”, в которые подставляются данные. Приложение использует шаблоны, чтобы построить конечный вид странички. Точно так же работают бумажные формы и бланки. Saturday, October 6, 12
чем их заполнять? Откуда берется информация? Откуда ВКонтакте знает, что на страничке твоей любимой школьной учительницы надо написать “Марфа Петровна”, а не “Павел Дуров”? Можно так выразиться, что в эту страницу нужно “вписать” какого-то человека. А что такое “человек” в устройстве сайта? Saturday, October 6, 12
категориям. Например, туфли у тебя лежат отдельно от помады, а тарелки - отдельно от кастрюль. Предметы одной категории наделены одинаковым набором характеристик (у всякой помады есть цвет), поэтому их легко сравнивать, считать и выбирать нужный. Saturday, October 6, 12
как “человеки”, “фотографии”, “сердечки”, и даже... “категории”. Категории предметов принято называть “моделями” (или “классами”), а предметы - “объектами”. Свойства также называют “атрибутами”. Saturday, October 6, 12
данными: “Корзина для покупок” содержит много “Туфель”. Модель также обрабатывает данные. Стоимость Корзины = сумма цен Туфель. Saturday, October 6, 12
к, собственно, “сайту” как чему-то, что можно открыть в браузере. Когда ты вводишь адрес странички или переходишь по ссылке на сайт, откуда приложение знает, какой шаблон взять и какие объекты в него подставить? Saturday, October 6, 12
это кусочек программы, который получает запрос от браузера, выбирает для страницы шаблон и подготавливает для неё данные. Например, есть контроллер для страницы пользователя; для страницы со списком пользователей; для страницы загрузки фотографии. Saturday, October 6, 12
ответственны за прием данных, отправленных пользователем. Например, когда ты отправляешь сообщение, его текст (и адресат) попадает в контроллер отправки сообщения, и контроллер выполняет доставку. А когда ты обновляешь свой статус, то другой контроллер обновляет его в “твоем” объекте пользователя. Saturday, October 6, 12
Например, в ней сказано, что для адреса “/users/любое-имя” должен запуститься контроллер профиля пользователя, а для адреса “/users” - списка пользователей. Saturday, October 6, 12
Контроллер: Books, действие show, id: 123 Нарисуй мне шаблон books#show для вот этой книги А пожалуйста Модели Дай мне книгу с id: 123 А вот она Веб-страница Saturday, October 6, 12
добавить страничку на сайт, нужно: добавить для неё маршрут; описать в контроллере нужные данные; создать нужные модели, если их еще нет; и написать шаблон. Saturday, October 6, 12
Сделанного (DRY). Часто используемые подходы уже реализованы в Рельсах. Другие возможности уже реализованы в других библиотеках (их огромное множество!) Saturday, October 6, 12
создания “отправной точки” твоего приложения. Создает новую модель, и все необходимые шаблоны, маршруты и контроллер для ее просмотра и редактирования. Saturday, October 6, 12