Навигация
Немедленное использование
Ликвидация последствий
Возможно, следуя за нашим повествованием, вы набирали программный код.
приведенный в данной главе. Если так все и было, то вполне возможно, что приложение
до сих пор работает на вашем компьютере. Когда мы примерно через десять
страниц приступим к программированию нашего следующего приложения,
Что нам удалось сделать
В данной главе мы занимались созданием учебного приложения. В результате
этого мы увидели:
• как создается новое Rails-приложение и новый контроллер в этом приложении;
• как Rails разбирает входящие запросы, превращая их в вызовы кода;
• как в контроллере создается динамическое содержимое и как оно отображается
Соединение страниц
Веб-приложение крайне редко состоит из одной страницы. Посмотрим, как можно
добавить к нашему простейшему приложению еще один впечатляющий пример
веб-дизайна.
Обычно разнородные страницы приложения соответствуют различным представлениям.
В данном случае для работы со страницей мы будем также использовать
Текущее развитие событий
Вкратце рассмотрим работу созданного приложения.
1. Пользователь переходит к работе с приложением, воспользовавшись в нашем
случае локальным URL http://localhost:3000/say/hello.
2. Rails проводит анализ URL. Фрагмент say воспринимается как имя контроллера,
поэтому Rails создает новый экземпляр Ruby-класса SayController (который
Добавление показаний времени
Изначально мы решали задачу отображения времени для пользователей нашего
приложения. Теперь мы уже знаем, как заставить наше приложение отображать
динамические данные. Второй вопрос, к которому мы должны обратиться, касается
того, где взять показания времени.
Динамическое содержимое
В Rails есть два способа создания динамических шаблонов1. Один использует
технологию под названием Builder, которую мы рассмотрим в подразделе «Шаблоны
Builder» раздела 22.1. А второй, который мы рассмотрим здесь, заключается
во вставке кода Ruby непосредственно в шаблон. Вот поэтому-то мы и назвали
Придание динамичности
Пока наше Rails-приложение имеет довольно скучный вид, поскольку отображает
статичную страницу. Для придания динамичности заставим ее при отображении
на экране показывать текущее время.
Для этого нам нужно будет внести изменения в файл шаблона, расположенный
Наше первое действие
Добавим к нашему контроллеру say действие под названием hel 1о. Из рассуждений,
приведенных в предыдущем разделе, мы знаем, что добавление действия
h e l l o означает создание метода под названием h e l l o в классе SayController.
Но что он должен делать? Пока ничего. Запомните, что работа контроллера заключается
Rails и URL-запросы
Как и любые другие веб-приложения, Rails-приложения представляются их пользователям
связанными с URL. При вводе в браузер определенного URL вы вступаете
в диалог с кодом приложения, который генерирует для вас ответ.
Однако на самом деле ситуация складывается несколько сложнее. Представим,
Привет, Rails!
Чтобы проверить новую систему, волей-неволей придется написать программу
Hello, World!. В Rails ее эквивалентом послужит отправка на браузер нашего восторженного
приветствия.
В главе 2, «Архитектура приложений Rails», вы уже прочитали, что Rails представляет
собой среду выполнения, построенную на основе архитектуры Model