Лаб 5_RubyOnRails (Лабораторный практикум)

PDF-файл Лаб 5_RubyOnRails (Лабораторный практикум) Языки интернет-программирования (17431): Лабораторная работа - 5 семестрЛаб 5_RubyOnRails (Лабораторный практикум) - PDF (17431) - СтудИзба2017-12-28СтудИзба

Описание файла

Файл "Лаб 5_RubyOnRails" внутри архива находится в папке "Лабораторный практикум". PDF-файл из архива "Лабораторный практикум", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "языки интернет-программирования" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

Методические указания к выполнениюлабораторной работы 5.Введение в Ruby on Rails.Самарев Роман Станиславовичканд. техн. наук, доцентsamarev@acm.orgкаф. ИУ-6 «Компьютерные системы и сети»МГТУ им. Н.Э. БауманаМосква 2013ОглавлениеЦель работы ................................................................................................................. 3Принципы построения Ruby on Rails приложения .................................................. 4Размещение файлов.................................................................................................

5Исследование Rails-приложения ........................................................................... 9Настройка приложения ............................................................................................. 20Bundler ....................................................................................................................

20Конфигурационные параметры ........................................................................... 21Формы. Передача данных. ....................................................................................... 24Пример приложения с формой ............................................................................ 24Пояснения к примеру ............................................................................................

25Функциональные тесты контроллеров.................................................................... 30Контрольные вопросы .............................................................................................. 32Задание на лабораторную работу ............................................................................ 33Литература ................................................................................................................. 342Цель работыЦелью работы является получение теоретических сведений о принципахпроектирования Model-View-Controller и получении практических навыковсоздания веб-приложения с использованием средств Ruby on Rails, созданияпростейших форм и выполнения вычислений со стороны серверной частиприложения.3Принципы построения Ruby on Rails приложенияИдеология Ruby on Rails реализует концепцию Model-View-Controller (MVC) –модель-представление-контроллер.

Принято считать, что MVC была описана в1979 году Трюгве Реенскаугом (англ. Trygve Reenskaug), работавшим тогда надязыком программирования Smalltalk в Xerox PARC.В данной концепции модель ответственна за сохранение состоянияприложения. В некоторых случаях состояния являются переходными,единственное назначение которых – связать взаимодействия с пользователем. Вдругих случаях состояния постоянные и сохраняются вне приложения,например в СУБД.Модель (Model) является больше чем набором данных.

Она включает правила,которые налагаются на данные. Например скидка не может быть предоставленана заказы дешевле 1000 руб, тогда модель должна содержать это ограничение.Таким образом, задачей модели является обеспечить целостность данныхпосредством применения определенных правил.Представления (View) ответственны за формирование интерфейсапользователя, основанного на данных из модели. Например сайт магазинаимеет список продуктов, отображаемых на экране.

Этот список будет полученчерез модель, однако именно представление получит список у модели ипредоставит в соответствующем формате отображения конечномупользователю. Также представление может предоставлять пользователюразличные способы ввода данных, но никогда не занимается их обработкой.Представления завершает работу как только данные отображены пользователюВозможна ситуация, когда несколько представлений предоставляют доступ кодним и тем же данным, но с разными целями.

Например в интернет-магазинетовары должны отображаться по-разному в зависимости от того, зашел липользователь для оформления заказа или администратор для редактированиятоваров.Контроллеры (Controller) связывают отдельные элементы приложения.Контроллеры получают события из внешнего мира (например командыпользователя), взаимодействуют с моделями и активируют соответствующеепредставление для пользователя.На рисунке 1 представлена описанная схема взаимодействия.41КонтроллерПредставление243Браузер1.Браузеротправляетзапрос2.Контроллервзаимодействуетсмоделью3.Контроллерподключаетпредставление4.СредствамиотображенияформируетсяноваястраницадлябраузераМодельСУБДРисунок 1 Концепция MVCRuby on Rails также представляет собой MVC-фреймворк. Rails задаётструктуру будущего приложения, а именно модели, представления иконтроллеры как кубики функциональности, которые будут связаны вместе вмомент запуска приложения.

Отметим, что на данный момент используетсяуже 4-е поколение Rails. Примеры, рассматриваемые в данном пособии,разработаны с использованием Rails 4.0.Для работы Rails-приложения необходимо иметь ruby, а также ряднеобходимых модулей, которые могут быть установлены командойgem install rails.Размещение файловРассмотрим создание простейшего приложения. Rail имеет средства дляавтоматической генерации базовой структуры приложения. Для того, чтобысоздать каркас приложения необходимо в консоли перейти в директорию, вкоторой должно быть размещено приложение и выполнить командуrails new test_appБудет создана директория с именем test_app, в которой и будет созданаструктура приложения.

Во время создания приложения в консоль будутвыданы примерно ниже приводимые сообщения. По ходу вывода будемиллюстрировать что это означаетСоздание приложения:createСоздание шаблона краткой информации о приложении:createREADME.rdocСоздание файла для системы сборки Rake (аналог make для Ruby):createRakefile5Вспомогательные файлы:createcreateconfig.ru.gitignoreФайл, который содержит описание необходимых приложению gem-пакетов.createGemfileСоздание основного каркаса – контроллеры, представления, модели, хелперы,шаблоны типового отображения.createcreatecreatecreatecreatecreatecreatecreatecreatecreatecreateappapp/assets/images/rails.pngapp/assets/javascripts/application.jsapp/assets/stylesheets/application.cssapp/controllers/application_controller.rbapp/helpers/application_helper.rbapp/mailersapp/modelsapp/views/layouts/application.html.erbapp/mailers/.gitkeepapp/models/.gitkeepСоздание конфигурационной части приложения, которая включаетмаршрутизацию, настройки запуска, локали.createcreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreateconfigconfig/routes.rbconfig/application.rbconfig/environment.rbconfig/environmentsconfig/environments/development.rbconfig/environments/production.rbconfig/environments/test.rbconfig/initializersconfig/initializers/backtrace_silencers.rbconfig/initializers/inflections.rbconfig/initializers/mime_types.rbconfig/initializers/secret_token.rbconfig/initializers/session_store.rbconfig/initializers/wrap_parameters.rbconfig/localesconfig/locales/en.ymlconfig/boot.rbconfig/database.ymlСоздание директории для базы данных:createcreatedbdb/seeds.rbДиректория для будущей документации:createcreatedocdoc/README_FOR_APPСоздание директорий для библиотек функций:createcreatecreatecreatecreateliblib/taskslib/tasks/.gitkeeplib/assetslib/assets/.gitkeepДиректория для журналов выполнения приложения:6createcreateloglog/.gitkeepДиректория для общедоступных статических файлов:createcreatecreatecreatecreatecreatecreatepublicpublic/404.htmlpublic/422.htmlpublic/500.htmlpublic/favicon.icopublic/index.htmlpublic/robots.txtДиректория служебных скриптов Rails:createcreatescriptscript/railsДиректория тестов приложения:createcreatecreatecreatecreatecreatecreatecreatecreatecreatetest/fixturestest/fixtures/.gitkeeptest/functionaltest/functional/.gitkeeptest/integrationtest/integration/.gitkeeptest/unittest/unit/.gitkeeptest/performance/browsing_test.rbtest/test_helper.rbВременная директория для служебных целей.

Она же для хранения кэша.createcreatetmp/cachetmp/cache/assetsДиректории для размещения дополнительных модулей:createcreatecreatecreatecreatecreatevendor/assets/javascriptsvendor/assets/javascripts/.gitkeepvendor/assets/stylesheetsvendor/assets/stylesheets/.gitkeepvendor/pluginsvendor/plugins/.gitkeepДалее run bundle install запускает специальный менеджер пакетов bundle,который проверяет состав имеющихся gem-пакетов и устанавливаетнепосредственно с указанного в файле Gemfile сайта все необходимые пакеты.Приведём лишь небольшой фрагмент этого вывода.…Using sprockets (2.10.0)Using sprockets-rails (2.0.0)Using rails (4.0.0)Using rdoc (3.12.2)Installing sass (3.2.10)Installing sass-rails (4.0.0)Installing sdoc (0.3.20)…Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gemis installed.В минимальном виде каркас приложения создан.

Теперь перейдём вдиректорию приложения и запустим приложение командой rails server (или railss).7Получим примерно следующее сообщение:=> Booting WEBrick=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000=> Run `rails server -h` for more startup options=> Ctrl-C to shutdown server[2013-08-20 11:54:14] INFO WEBrick 1.3.1[2013-08-20 11:54:14] INFO ruby 2.0.0 (2013-06-27) [i386-mingw32][2013-08-20 11:54:14] INFO WEBrick::HTTPServer#start: pid=2980 port=3000WEBrick – отладочный веб-сервер, который встроен в Rails и предназначентолько для однопользовательской работы с целью отладки! В отличии от вебсерверов, предназначенных для эксплуатации приложений, этот веб-серверпозволяет вносить изменения в код приложения и видеть изменения без егоперезапуска.В сообщении, выданном на экран также указаны версии Rails, Ruby, а такжестрока http://0.0.0.0:3000.

Эта строка означает, что веб-сервер присоединился нафиктивный интерфейс 0.0.0.0, означающий готовность принимать запросы,поступающие со всех имеющихся сетевых адаптеров, а значение :3000 – ipпорт. Откроем браузер и введём адрес http://localhost:3000. Получим сообщениеследующего вида (рисунок 2).Рисунок 2 Страница по умолчанию http://localhost:3000/Данная страница является страницей по умолчанию public/index.html (для Rails3.2 и ранее), сгенерирована в момент создания приложения. В дальнейшем онадолжна быть удалена или заменена. В Rails 4 эта страница входит в составвнешних gem-модулей, поэтому единственный вариант замены — изменениекорневого маршрута с помощью метода root в файле config/routes.rb.В то же время в консоли, в которой запущен WEBrick увидим примерноследующий текст:Started GET "/assets/rails.png" for 127.0.0.1 at 2013-08-20 19:48:39 +0400Connecting to database specified by database.ymlServed asset /rails.png - 200 OK (15ms)8Из этого текста следует, что к серверу обратились с локального адреса 127.0.0.1и запросили методом GET изображение "/assets/rails.png".

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее