|
Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: killich от 15 Август, 2009, 08:32:12 ГЕНЕРАТОР (generator)
Генератор - программа (скрипт), занимающаяся написанием программ (или фрагментов кода) согласно заданным входным параметрам. Поскольку абсолютное множество фрагментов ROR приложения максимально унифицированы (согласуются со стандартами ROR), то у нас появляется возможность создавать программы, которые самостоятельно будут формировать красивый рабочий код некоторых фрагментов нашего приложения. Так, например, большинство действий происходящих на сайте попадают в категорию CRUD (Create, Read, Update, Delete). Возьмем профайл пользователя - для него должны существовать функции - создать, читать (просмотр), обновить, удалить. Тоже самое со страницами сайта, каждая должна иметь возможность быть созданной, прочитанной, обновленной и удаленной. У данных действий совершенно аналогичный алгоритм, единственная разница - это название класса объектов, к которому алгоритм применяется (Profile и Page). Известны генераторы, которые по заданным именам объектов создают полностью готовые к исполнению файлы логики (функции обработчики запросов), виды отображения и прочего. Так мы можем в считанные секунды, с помощью генератора создавать очень простые, но полноценные административные web интерфейсы. Скаффолд, скаффолдинг (scaffold, scaffold generator) Скаффолд - генератор, создающий полностью готовый к использованию административный интерфейс для управления объектами БД через web-браузере. В качестве входных данных принимает имя Модели (класса объектов) и список полей таблицы БД с соответствующими типами данных (что бы под каждый тип данных создать соответствующий элемент ввода внутри html формы). Обеспечивает полный набор действий CRUD. Скаффолд-генератор воплощает в себе одну из идеологий RAILS - DRY (DON't REPEAT YOURSELF) - т.е. не повторяйся (не пиши заново свой код). Действительно, создав генератор для создания файлов с аналогичным функционалом для разных фрагментов приложения, мы во многом избавляем себя от необходимости писать одинаковый код многократно. Скаффолд (scaffold) - в переводе обозначает подмостки или строительные леса. Т.е. создает что-то такое, что позволяет быстро строить интерфейс. Ролики формата - БЛОГ НА ROR ЗА 15 МИНУТ. Основаны на методике Скаффолдов. Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: CTAPbIu_MABP от 15 Август, 2009, 10:04:01 killich, покажи плз генератор для создания генераторов (с)
Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: killich от 16 Август, 2009, 10:30:57 =)
К сожалению отдельного генератора генераторов нет - и не по причине того, что это не нужно, а потому, что такой генератор фактически является частью генератора плагинов. Запустив генератор плагина вы так же получите и папку с генератором, поименованным так же как и плагин. генератор плагинов и генератор генераторов =) естественно не напишет для вас нужный плагин и генератор, но создаст уже готовую инфраструктуру для их создания, как то: файлы инициализации, файлы шаблонов для генерируемого кода и директории, где будет это все структурировано храниться. Так, Мавр.. разговор о генераторе генераторов для генерации генераторов предлагаю не начинать =) Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: CTAPbIu_MABP от 16 Август, 2009, 01:42:34 killich, да я ваще подъебать хотел а ты все всерьез...
Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: adw0rd от 16 Август, 2009, 03:19:18 Когда происходит генерирация, на каком этапе? Один раз при вызове "инсталлера"?
Потом можно изменить админ-формы? Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: killich от 17 Август, 2009, 10:10:22 killich, да я ваще подъебать хотел а ты все всерьез...
А я тупой да.. не понял .. да?! =))) Надеялся ты оценишь мой тонкий хуморь =) Спустя 3 минуты 44 секунды добавил Когда происходит генерирация, на каком этапе? Один раз при вызове "инсталлера"? В любое время дня и ночи в независимости от самого приложения. Представь себе набор готовых утилит для своего приложения, которые облегчают тебе работу над проектом. Вот такие наборы утилит - оформлены в виде rake задач, которые можно писать и самому. rake задача - это скрипт на руби, который в некотором смысле был порожден идеей make файлов nix систем. Поэтому и называется Ruby Make - Rake Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: phpdude от 17 Август, 2009, 10:22:42 руби только своей ОС не хватает))
Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: adw0rd от 17 Август, 2009, 10:34:03 killich, ясно, прикольно )
Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: CTAPbIu_MABP от 17 Август, 2009, 11:48:33 тонкий хуморьугумс Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: DarkMist от 24 Февраль, 2011, 01:52:08 а можно пример какой нить по сложней , так в качестве учебного материала : (rails generate scaffold...)
Название: Генераторы и скаффолды (scaffolds and generators) Отправлено: killich от 24 Февраль, 2011, 03:41:08 |