![]() |
![]() |
Из моих ruby tips, проверить что к нам пришел действительно Int
14:23, 27 сентября 2006
( )
params[:id].to_i.is_a?(Integer) Таким образом вот такой получается код, проверяющий, есть ли участок в базе @lot=Lot.find_by_id(params[:id]) if params[:id].to_i.is_a?(Integer) Picbrowser для плагина tinymce в Rails
14:55, 20 сентября 2006
( )
Тестирование аплоада файла в rails
15:07, 18 сентября 2006
( )
А теперь это делается вот так: post :change_avatar, Что, конечно, значительно проще, нежели было раньше. Пример использования group_by в rails.
19:38, 9 сентября 2006
( )
Раз я еще не всех напряг нашими "рельсами", то запишу пример офигительной мощи ruby и rails иже с ним. Хеш у нас Emunerable? Еще как Enumerable, поэтому доступна такая радость , как group_by. Пример будет прямо из серии magic ruby. Вот дано нам свыше немного объектов, которые имеют координаты, x и y. Задача, на первый взгляд, "ни фига себе". Но при наличии group_by превращается в аппетитный кусок кода. @objs - полученные из find_all данные. @group_of_objs=@objs.group_by{|obj| "#{obj.x},#{obj.y}" } А что тут только что за magic поизошел? Только что мы отправили в group_by блок кода, который получая obj как параметр выдавал строку в виде "x,y" на основании которой и провел группировку. На выходе мы получим хеш сгруппированных объектов в виде @group_obj={1=>obj1, 2=>[obj2,obj3]} Ну чем не красота? Всем красота. Работа с данными в Rails. Fixtures.
12:54, 30 августа 2006
( )
Весьма удобным оказывается наряду с использованиями 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 детальнее описано здесь: Использование объекта flash
11:23, 15 августа 2006
( )
По сути своей отличная штука, объект flash служит для уведомления пользователя о результате выполненного действия, типично это "Ваши данные успешно сохранены", либо "Произошла ошибка". Применение его на практике очено простое: в контроллере:
И это очень удобно, т.к. состояние flash сохраняется в сессии, и срабатывает при редиректе. Это же является и проблемой, когда у вас срабатывает, к примеру, post формы без redirect, то вы увидите эту же flash дважды(!). А такой хоккей нам не нужен. Странно, что в api это не документировано, юзаем метод now обзекта flash следующим образом: flash.now[:notice]="Ваши данные сохранены". И сообщение появляется только один раз, что нам и требовалось. Кстати, о различиях в квотировании строк. Пример применения для понимания полезнейшего in_groups_of
10:42, 11 августа 2006
( )
В Ruby есть замечательная штука, in_groups_of. Это полезно, когда хотите построить таблицу, скажем из 3х колонок, растыкивая данные по каждой колонке. Делается это не просто, а очень просто. Имеем массив объектов @category=Category.find_all применение: category_item[0].name ## первый элемент end Вот такая мегафича Поисковый плагин для документации Rails
09:24, 8 августа 2006
( )
Андрей Горбатов написал плагин для Firefox для встраивания поиска по сайту документации railshelp.com. Не уверен что буду пользоваться именно этим методом для поиска по документации, но все равно, спасибо :) http://www.gorbatov.org/ffplugins/railsapihelp.zip Простой способ сгенерить XML из Rails
17:26, 7 августа 2006
( )
Удивился всего паре строк посвященных XML в Rails, как в API, так и в Wiki ровным счетом 5 строк :) Итак, задача сформировать XML из таблицы в определенном виде решается следующим образом: controller mapdata.rb def geodata вьюшка geodata.rxml ### обратите внимание, это RXML (!) xml.instruct! :xml, :version=>"1.0" <map> Документация к Rails. Способы доступа к документации.
16:07, 4 августа 2006
( )
После запроса к знающим людям в google группы по ROR выкристализовались три метода чтения документации: 1. непосредственнои из браузера по адресу http://api.rubyonrails.org/ Слева в окне - элементы, аттрибуты, свойства, объекты. При даблклике открывает в основном окне ссылку на описание элемента на сайте-источнике. Т.е. по HTML открывается w3c, по Rails открывается api.rubyonrails.org
Можно еще юзать http://www.gotapi.com/
|
© Максим Прокопов 2005-2024 | О сервере |