Работа с данными в Rails. Fixtures.Весьма удобным оказывается наряду с использованиями migrations способ хранения данных в fixtures. Для этого из Rails Recipes подсмотрено было два скрипта: export_fixtures и load_exportes_fixtures. Для инсталляции копируем в lib/tasks следующие два скрипта: extract_fixtures.rake и load_exported_fixtures.rake Для работы создаем каталог db/exported_fixtures. Теперь представим, что в рабочей базе мы уже наколбасили некоторые данные, делаем rake extract_fixtures после чего немедленно получим дамп данных в db/exported_fixtures в формате yaml. Для загрузки этих же данных в пустые таблицы (после миграции, например, делаем rake load_exporte_fixtures
И никаких танцев с бубнами :) Что бы использовать данные в базе для тестовых fixtures мы можем возпользоваться плагином ar_fixtures ./script/plugin install http://topfunky.net/svn/plugins/ar_fixtures который позволит в консоли сделать, скажем, так >User.find_all детальнее описано здесь: Оффтоп, которым очень хотелось поделиться
17:55, 29 августа 2006
( Daily thoughts )
- Что это? Как-то незаметно сайт открылся chieftec.kiev.ua
02:14, 26 августа 2006
( Web Development Daily thoughts )
Первое созданное с нуля на Rails произведение веб-исскуства про хорошие корпуса Chieftec. Нет повода не разбить бутылку шампанского о веб-сервер chieftec.kiev.ua. Одно только огорчает. При активном юзании картинок в админзоне, превью разные, аплоады, и иже с ним, то что из TinyMCE выпадает, то процесс ruby18 начинает кушать под 200Мб памяти, а т.к. таких процессов запущено два, то ресурсов оказывается все меньге и меньше. В обычном же режиме на процесс уходит порядка 20Мб, что более чем приемлемо. Также включен встроенный механизм кеширования, который умно генерит статику (при контекстных изменениях в админе статика убивается). Т.к. особо динамичных частей на сайте нет, то он почти на 95% сейчас весь статичен. Правда круто? Кстати, вот интересный совет нашелся
15:48, 25 августа 2006
( Daily thoughts Linux )
Люди рекоммендуют включать focus follows mouse, это такой режим работы в X, когда при наведении мыши на другое окно, окно на которое была наведена мышь, перехватывает фокус, но не выдвигает окно на передний план (для этого нужен клик по окну). Это позволяет нам, раз уж мы хватаемся за мышь, юзать ее в операциях copy-paste наиболее эффективно.
Немножко юникс - типсовhttp://www.igso.net/nkb/Unix_Tips содержит полезные вещи типа: How to list all the open ports and programs: [linux]$ netstat -apne --inet
Оказалось что watch в Linux и watch в FreeBSD это совершенно разные командыnexus@nexus:~$ uname -a root@webber:~# uname -a Ну а если хотите такую же функциональность watch в FreeBSD как и в Linux, то portinstall cmdwatch и юзание cmdwatch. Типичный случай: cmdwatch df
Итак, открываем серию хинтов и типсов под названием "Посмотри мама, как я умею"Многие видели файлы конфигурации заканчивающиеся на .sample? К примеру, httpd.conf.sample , mime.conf.sample. Ручками переименовать каждый? А давайте лучше юзать bash extenstions. Переименование (копирование) будет выглядеть примерно так: cp httpd.conf{.sample,} Да-да, вот так бесхитростно скопируем все httpd.conf.sample в httpd.conf без .sample. unix magic, однако :) А вот вам еще онлайновый Excel от Google
12:51, 18 августа 2006
( Web Development )
http://spreadsheets.google.com/ Каждая работа гугла из серии "А вам слабо?". Использование объекта flashПо сути своей отличная штука, объект flash служит для уведомления пользователя о результате выполненного действия, типично это "Ваши данные успешно сохранены", либо "Произошла ошибка". Применение его на практике очено простое: в контроллере:
И это очень удобно, т.к. состояние flash сохраняется в сессии, и срабатывает при редиректе. Это же является и проблемой, когда у вас срабатывает, к примеру, post формы без redirect, то вы увидите эту же flash дважды(!). А такой хоккей нам не нужен. Странно, что в api это не документировано, юзаем метод now обзекта flash следующим образом: flash.now[:notice]="Ваши данные сохранены". И сообщение появляется только один раз, что нам и требовалось. Кстати, о различиях в квотировании строк.
|
© Максим Прокопов 2005-2024 | О сервере |