# coding: utf-8

3.1 Cтатичные страницы

Rails имеет два основных способа создания статических веб-страниц. Во превых, Рельсы могут обрабатывать истинно статические страницы, состоящие из чистых HTML файлов. Во-вторых, Рельсы могут определить представления содержащие чистый HTML, которые Рельсы могут интерпретировать таким образом, что веб-сервер сможет отправить их в браузер.

Для того, чтобы сориентироваться, полезно вспомнить структуру каталогов Rails из Раздела 1.2.3 (Рис. 1.2). В этом разделе мы будем работать в основном в app/controllers и app/views директориях. (В Разделе 3.2, мы даже добавим свою собственную директорию.)

3.1.1 Истинно статические страницы.

Мы начнем с по-настоящему статичных страниц. Напомним, из Раздела 1.2.5 что, благодаря rails сценарию, каждое Rails приложение поставляется как минимально рабочее приложение с дефолтной (по умолчанию) страницей приветствия по адресу //localhost:3000/ (Рис. 1.3).

Рисунок 3.2: public/index.html файл.

Рисунок 3.2: public/index.html файл.

Чтобы узнать, откуда берется эта страница, взгляните на файл public/index.html (Рис. 3.2). Он немного грязноват, так как содержит свою собственную информацию о стиле, но он выполняет свою работу: по умолчанию, Rails выполняет любые файлы из public каталога непосредственно в браузер.2 В случае специального index.html файла, по умолчанию, вы можете даже не указывать файл в URL, как index.html Хотя вы можете включить его, если хотите; адреса:

//localhost:3000/

и

//localhost:3000/index.html

эквивалентны.

Как и следовало ожидать, если захотим, мы можем сделать наши собственные статичные файлы HTML и положить их в тот же public каталог как и index.html. Например, давайте создадим файл с дружеским приветствием (Листинг 3.3):3

  $ mate public/hello.html
Листинг 3.3. Обычнй файл HTML, с дружеским приветствием.

public/hello.html
  <!DOCTYPE html>
  <html>
    <head>
      <title>Приветствие</title>
    </head>
    <body>
        <p>Привет, мир!</p>
    </body>
  </html>

В Листинге 3.3 мы видим типичную структуру HTML документа: тип документа, или doctype, заявление вверху, говорящее браузерам, какую версию HTML мы используем; (в данном случае, HTML5);4 head раздел, в данном случае с “Приветствие” внутри title тега; и body раздел, в данном случае с “Привет, мир!” внутри p (параграф) тега. (Отступ не является обязательным, HTML не чувствителен к пробелам, и игнорирует как табуляции так и пробелы, но это делает структуру документа легко читаемой.) Как и было обещано, при посещении адреса //localhost:3000/hello.html, Rails незамедлительно его (hello.html) визуализирует (Рис. 3.3). Обратите внимание, что название, отображаемое в верхней части окна браузера в Рис. 3.3 это, всего лишь, содержимое title тега — “Приветствие”.

Рисунок 3.3: Наш собственный статичный HTML файл

Рисунок 3.3: Наш собственный статичный HTML файл (//localhost:3000/hello.html)

Так как этот файл только для демонстрационных целей, и, в действительности, мы не хотим, чтобы он стал частью нашего примера приложения, лучше удалить его:

  $ rm public/hello.html

Пока мы оставим index.html файл, но, конечно, в конечном итоге мы удалим и его: мы ведь не хотим, чтобы главной страницей нашего приложения была дефолтная страница Rails показаная на Рис. 1.3. В Разделе 5.2 мы увидим, что нужно изменить, чтобы адрес //localhost:3000/ указывал на нечто иное, нежели public/index.html.

# coding: utf-8