- •Введение
- •1 Установка и запуск первого приложения
- •1.1 Установка системы Ruby on Rails
- •1.2 Разработка простейшего приложения с целью проверки работоспособности установленного по
- •2 Подготовка к выполнению проектирования ис
- •3 Настройка базы данных
- •4 Генерация временных платформ
- •5 Работа с контроллерами
- •6 Представления
- •7 Экспорт отчетов
- •8 Аутентификация пользователей
- •9 Многопользовательский режим
- •10 Разработка интерфейса
- •10.1 Стандартный Интернет-интерфейс
- •10.2 Расширение возможностей изменения интерфейса с помощью модуля Bootstrap
- •11 Элементы сложной обработки данных
- •11.1 Динамические средства поиска
- •Список использованных иточников
2 Подготовка к выполнению проектирования ис
Для разработки приложений на RubyonRailsв данном методическом указании можно выделить список необходимого ПО:
1. Интерпретатор Ruby;
2.Фреймворк Ruby on Rails;
3.База данных PostgreSQL;
4. Клиент для работы с БД pgAdmin3;
5.Текстовый редактор SublimeText 2 или 3 версия.
Первые три пункта мы установили в предыдущем разделе, когда ставили пакет RubyStack. Установку остальных приложений Вы должны были установить отдельно.
Приступим непосредственно к самой разработке ИС.
Примечание:
Напомним, что ИС будет вести учет сотрудников организации, занимаемых ими должностей, а также их хобби (смотри первую часть дисциплины «Проектирование информационных систем»). В первой части дисциплины «Проектирование информационных систем» мы разрабатывали аналогичную ИС, но при этом использовали файл-серверную архитектуру. В данном случае мы создадим такую же ИС, но при этом будем использовать клиент-серверную архитектуру, и кроме этого применять Интернет-технологии разработки.
Примерная схема данных ИС «Сотрудники» представлена на рисунке 2.2.
Рисунок 2.2. – Схема данных ИС «Сотрудники»
Описание действий будет производиться по шагам для лучшего восприятия информации.
Создайте пустую папку на диске для разработки приложений Ruby on Rails, например “C:\RoR\”.
Запуск приложений Ruby on Rails и управление над ними производится в стандартной консоли “cmd” компании Microsoft, однако ее запуск стоит производить из файла “use_ruby.bat” расположенного в директории “C:\RubyStack\” (или другой путь, который вы выбрали при установке пакета).Этот скрипт запускает интерпретатор ruby и наш фреймворк в папке, прописанной по умолчанию в файле.
Примечание
Для надежной работы со средой Ruby on Rails следует вышеописанный bat-файл (use_ruby.bat ) запускать с правами администратора
Изменим путь стартового запуска на нашу созданную папку, для этого нажмите ПКМ по файлу use_rubyи выберите изменить. Строку
cd “C:\RubyStack(или другой путь)\”
изменим на
cd“C:\RoR\”
или на другой путь, который вы указывали на первом шаге. Сохраните и закройте файл.
Если вы делаете на другом диске:
D:
cd “D:\RoR”
Примечание
Следите за раскладкой клавиатуры при создании папок и написании в командной строки! Не используйте в наименовании папок русские буквы.
Создадим свое первое приложение. Запустите файл use_ruby ( с правами администратора) и введите следующую строку:
rails new Sotrudniki --database=postgresql
Нажмите Enter после, чего Rails выполнит свою команду – создание нового приложение. Как вы могли заметить названием приложения служит “Sotrudniki”, а “--database=postgresql” это параметр, указывающий БД с которой будет работать приложение. После выполнения команды Rails создаст папку “C:\RoR\Sotrudniki\” со структурой вашего приложения (как бы исходным первоначальным «шаблоном»), к которой мы вернемся позже.
После создания директории с проектом для дальнейшей работы необходимо перейти в папку проекта для этого в консоли пишем команду:
сd Sotrudniki
Примечание:
Если при выполнении команды на 4 шаге у вас возникли проблемы, это может связно со следующими ошибками:
1) Неправильная установка пакета “RubyStack”;
2) Неверно задан путь в файле use_ruby.bat;
3) Запуск консоли производился не с помощью файла use_ruby.bat.
Добавим папку “Sotrudniki” с нашим приложением в редактор SublimeText. Сделать это можно двумя способами:
- в редакторе SublimeTextвыбрать “File/Openfolder” и в открывшемся окне выбрать нужную папку;
- перетащить папку “Sotrudniki” в окно программы SublimeText.
После чего все содержимое папки будет доступно для редактирование в программе (Рисунок 2.1).
Рисунок 2.1 – Окно программы SublimeText
Посмотрите на структуру вашего приложения. Дадим общее представление содержимого:
Таблица 2.1 – Содержимое шаблона приложения Rails
Файл/Папка |
Назначение |
app/ |
Содержит контроллеры, модели, вьюхи, хелперы, рассыльщики и ресурсы вашего приложения. Мы рассмотрим эту папку подробнее далее. |
bin/ |
Содержит Rails скрипты которые стартуют ваше приложение, также директория может содержать другие скрипты которые вы используете для настройки, деплоя или запуска. |
config/ |
Конфигурации маршрутов, базы данных вашего приложения, и т.д. Более подробно это раскрыто в Конфигурирование приложений на Rails |
config.ru |
Конфигурация Rack для серверов, основанных на Rack, используемых для запуска приложения. |
db/ |
Содержит текущую схему вашей базы данных, а также миграции базы данных. |
Gemfile |
Эти файлы позволяют указать, какие зависимости от гемов нужны для вашего приложения на Rails. Эти файлы используются гемом Bundler. Подробнее о Bundler смотрите на сайте Bundler |
Gemfile.lock |
|
lib/ |
Внешние модули для вашего приложения. |
log/ |
Файлы логов приложения. |
public/ |
Единственная папка, которая доступна извне как есть. Содержит статичные файлы и скомпилированные ресурсы. |
Rakefile |
Этот файл содержит набор команд, которые могут быть запущены в командной строке. Определения команд производятся во всех компонентах Rails. Вместо изменения Rakefile, вы можете добавить свои собственные задачи, добавив файлы в директорию lib/tasks вашего приложения. |
README.rdoc |
Это вводный мануал для вашего приложения. Его следует отредактировать, чтобы рассказать остальным, что ваше приложение делает, как его настроить, и т.п. |
test/ |
Юнит-тесты, фикстуры и прочий аппарат тестирования. Это раскрывается в руководстве Тестирование приложений на Rails |
tmp/ |
Временные файлы (такие как файлы кэша и pid) |
vendor/ |
Место для кода внешних разработчиков. В типичном приложении на Rails, включает внешние гемы. |
Примечание:
Если вы внимательно рассматривали таблицу 1, то могли заметить такое определение, как гемы. В Railsгемы служат внешними библиотеками, которые можно подключать к проекту.
После создания приложения для его запуска и настройки необходимо проверить, чтобы все гемы (библиотеки) соответствовали версиям, прописанным в файле Gemfile, и вообще были подгружены в проект. Для этого пропишем в консоли две команды:
bundle update (эта команда обновит и подгрузит необходимые гемы;)
bundle install (эта команда установит все необходимые гемы.)
Примечание:
Вариант №1
Иногда возникает необходимость обновить gem-файлы в проекте, но из-за настроек сети (отсутствие интернета) не всегда есть такая возможность. Одним из вариантов обновления gem-файлов является их перенос с уже обновленного проекта (на другом компьютере). Для этого необходимо на обновляемом ПК перейти по пути C:\Bitnami\ruby\lib\ruby\ (или по другому пути, в соответствии с вашей установкой) и скопировать (или заменить, если такая папка имеется) папку gems (будьте внимательны папок gems несколько на разных уровнях подкаталогов, поэтому замените именно, на том уровне, на котором необходимо):
Рисунок 2.2 – Необходимая папка gems
Далее переходим в консоль Ruby и находясь в нашем папке рабочего проекта выполняем последовательно две команды:
bundle show
После которой в папке с проектом появится файл Gemfile.Lock в котором будут указаны текущие версии gem – файлов среды Rybu on Rails.
Результаты выполнения данной команды показан на рисунке 2.4.
Рисунок 2.4 – Просмотр gem – файлов командой bundle show
bundle install
В результате выполнения этой команды произойдет установка последних версий gem – файлов в создаваемый проект. Результат выполнения данной команды показан на рисунке 2.5.
Рисунок 2.5 – Результат успешной инсталляции gem – файлов
Теперь при создании каждого нового проекта, необходимо будет выполнять описанную процедуру (кроме переноса папки gems).
Вариант №2
Если используемый компьютер находится в частной сети(например, защищенной Proxy) и не разрешает подключиться к серверу для обновления gem-файлов с сайта https://rubygems.org,то можно попробовать выполнить следующие действия:
Следует воспользоваться другим каналом для подключения к интернету (Например,Wi-Fi модуль). Для этого необходимо установить драйвера для Wi-Fi модуля (например, DlinkDWA-131E_V5/01b03).
Подключиться к Wi-Fi сети с помощью модуля.
В браузере по умолчанию в параметрах соединения выбрать пункт «без прокси»
В папке с разрабатываемом проектом (например «Sotrudniki»), в файле Gemfile и заменить в первой строке каждого из этих файлов https://rubygems.org на http://rubygems.org и сохранить изменения.
В Ruby выполнить команду bundle update
Дождаться завершения загрузки gem-файлов.