Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #73, ДЕКАБРЬ 2006 г.

вагон-ресторан

БОРИС ВОЛЬФСОН

Спецвыпуск: Хакер, номер #073, стр. 073-060-2


«Привет, мир!» на Раби с RoR

class TestRubyController < ApplicationController

def index

render_text "Hello, world"

end

def another

render_text "Another page!"

end

end

Теперь нужно запустить веб-сервер. Проще всего использовать встроенный веб-сервер WEBrick (в народе «кирпич»): «ruby script\server». Теперь заходим по адресу http://127.0.0.1:3000/TestRuby и видим приветствие нашей программы, его же мы увидим, зайдя по адресу http://127.0.0.1:3000/TestRuby/index. Чтобы понять, как RoR выбирает метод и класс для обработки того или иного адреса, зайдем на http://127.0.0.1:3000/TestRuby/another и припомним одни из основных принципов RoR: «никаких конфигураций, только соглашения».

[база данных.]

Ладно, хватит уже играть в игрушки, давай будем использовать базу данных, хотя это тоже будет легко и приятно. Для начала в папке config подредактируем файл, который описывает различные режимы соединения с БД:

Конфигурирование подключения к базе данных

development:

adapter: mysql

database: disks

username: root

password:

host: localhost

test:

adapter: mysql

database: disks

username: root

password:

host: localhost

production:

adapter: mysql

database: disks

username: root

password:

host: localhost

Саму базу желательно создать до описываемых действий. Имя пользователя root и пустой пароль нужно будет обязательно сменить. Саму задачу я выбрал простую: мы сделаем сайт, где будет храниться информация о CD-дисках, которые имеются у нас в наличии. Сначала сделаем таблицу для дисков:

Создание таблицы «Диски»

CREATE TABLE `disks` (

`id` tinyint(4) NOT NULL auto_increment,

`title` varchar(255) NOT NULL default '',

`description` text,

PRIMARY KEY (`id`)

) TYPE=MyISAM;

Я бы порекомендовал создавать таблицу и работать с базой при помощи визуального средства проектирования. Думаю, поля особых пояснений не требуют. Заметь, что к данному моменту мы не написали ни единой строчки кода. Теперь создадим модель и контроллер для нашей таблицы:

Создание модели и контроллера

ruby script\generate model Disk

ruby script\generate controller Disk

Далее я не буду упоминать, что необходимо создавать модели, контроллеры и представления, так как это будет ясно из контекста и по названию файлов и классов. У нас имеется модель, которая точно отражает то, что хранится в базе данных, и шаблон обработки пользовательских действий. Теперь подправим файл controllers\disk_controller.rb:

Назад на стр. 073-060-1  Содержание  Вперед на стр. 073-060-3