RoR - разработка

Ruby On Rails

  • Архитектура приложений Rails
  • Установка Rails
  • Немедленное использование
  • Интернет-магазин
    • Задача 3: тестирование
    • Задача А: ведение учета товаров
    • Задача Б: отображение каталога товаров
    • Задача В: создание корзины
    • Задача Г: усиливаем приложение за счет использования AJAX
    • Задача Д: оформление покупки
    • Задача Е: администрирование
    • Задача Ж: окончательная доработка
  • Углубленное изучение Rails
  • Active Support
  • Миграции
  • Active Record
    • Основы
    • Связи между таблицами
    • Жизненный цикл объекта
  • Action Controller: маршрутизация и URL
  • Action Controller и Rails
  • Action View
  • Веб 2.0
  • Action Mailer
  • Веб-службы Rails
  • Безопасность и развертывание приложения
    • Организация защиты Rails-приложения
    • Развертывание и эксплуатация
  • Справка по Ruby
Главная

Объектно-реляционное отображение

Библиотеки ORM представляют таблицы базы данных в виде классов. Если в базе
данных имеется таблица под названием orders (заказы), то наша программа будет
иметь класс, названный Order. Строки этой таблицы соответствуют объектам
класса — конкретный заказ представляется как объект класса Order. В пределах
этого объекта для получения доступа к отдельным столбцам и установки
их значений используются свойства. У нашего объекта Order имеются методы
для получения и установки количества единиц товара, суммы налога с продаж
и т. д.
Вдобавок Rails-классы, в которых представлены наши таблицы базы данных,
предоставляют набор методов на уровне класса, которые выполняют операции на
уровне таблиц. Например, нам может понадобиться разыскать заказ с конкретным
идентификатором ( i d ) . Реализация осуществляется методом класса, который
возвращает соответствующий объект Order. В Ruby-коде это может выглядеть
следующим образом:
o r d e r = O r d e r . f i n d ( l )
p u t s " O r d e r # { o r d e r . c u s t o m e r _ i d } , a r a o u n t = # { o r d e r . a m o u n t }"
Иногда эти методы на уровне класса возвращают коллекции объектов.
O r d e r . f i n d ( : a l l , : c o n d i t i o n s => " n a m e = ' d a v e ' " ) . e a c h do | o r d e r |
p u t s o r d e r . a m o u n t
end
И наконец, объекты, соответствующие отдельным строкам таблицы, имеют
методы, оперирующие с этими строками. Возможно, самым востребованным из
них является метод save, который сохраняет строку в базе данных.
O r d e r . f i n d ( : a l l , : c o n d i t i o n s => " n a m e = ' d a v e ' " ) . e a c h do | o r d e r |
o r d e r . d i s c o u n t = 0.5
o r d e r . s a v e
end
Таким образом, на ORM-уровне таблицы отображаются в виде классов, запис
и — в виде объектов, а столбцы — в виде свойств этих объектов. Методы класса
используются для осуществления операций на уровне таблиц, а методы экземпляра
осуществляют операции над отдельными строками.
При использовании обычной ORM-библиотеки вы предоставляете конфигурационные
данные для указания порядка отображения, осуществляемого между
элементами базы данных и элементами программы. Программисты, использующие
этот ORM-инструментарий, часто занимаются созданием и поддержкой массы
конфигурационных файлов XML-формата.

Реклама 1

АИН: купить участок, недвижимость поселки.. Дизельные генераторы SDMO. мобильные телефоны оптом в самаре

Реклама 0

Натяжные потолки москва каталог натяжные потолки, натяжные потолки в москве.. Все лучшие холодильники Nazakaz. Ru