IT-Expert
  IT-Expert / Веблог / Ключевые слова / Ruby
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2008 год
 за 2007 год
 за 2006 год
 за 2005 год
RSS лента Лента новостей IT-Expert 
Лента подкастов IT-Expert IT-Expert audiopodcasts

Ruby

включает:
Rails

Слегка доработанный capistrano recipe для получения дампа рабочей базы локально

13:04, 28 июля 2008 ( )

Довольно часто данные изменяются на продакшн-сервере, и обычно хочется экспериментировать над свежей копией данных в своем rails приложении.

Тем, кто пользуется для разворачивания приложений capistrano есть хорошая новость: сделать такую вещь весьма несложно.

Итак, у нас в production FreeBSD 7.0, для разработки пользуемся рабочей станцией с ubuntu 8.04.

Рецепт capistrano слегка модифицированный взят отсюда: http://programmingishard.com/code/495

добавляем в config/deploy.rrb

 desc "Load production data into development database"
task :load_production_data, :roles => :db, :only => { :primary => true } do
  require 'yaml'
 
  database = YAML::load_file('config/database.yml')
 
  filename = "dump.#{Time.now.strftime '%Y-%m-%d_%H:%M:%S'}.sql"
  on_rollback { delete "/tmp/#{filename}" }
 
  run "mysqldump -u #{database['production']['username']} --password=#{database['production']['password']} #{database['production']['database']} > /tmp/#{filename}" do |channel, stream, data|
    puts data
  end
  get "/tmp/#{filename}", filename
#  exec "/tmp/#{filename}"
  exec "mysql -u #{database['development']['username']} --password=#{database['development']['password']} #{database['development']['database']} < #{filename}; rm -f #{filename}"
end

после чего пользуемся:

cap load_production_data

и вуаля, свежая копия базы с production у нас в development!

 

+1 в сайты на ROR

11:09, 3 ферваля 2008 ( )

Тихо и незаметно вызрел еще один сайт на Ruby on Rails. 

Сей сайт находится по адресу http://nxt.com.ua

Rails 2.0, пользует плагины acts_as_tree, in_place_editing, restful_authentication, tiny_mce 

 

 

Relative urls в tiny_mce

17:04, 21 января 2008 ( )

От читателя поступил вопрос, как сделать так, что бы в браузере изображений url были бы не вида ../../images, а /images ?

Очень просто, достаточно добавить в вызов tiny_mce  в контроллере такие параметры:

:relative_urls=>false,
:convert_urls=>true
и ваши url будут вида /images  и т.д.
хотя, при правильной разработке, этого не требуется. 

Rails: ActiveSearch plugin

11:32, 27 декабря 2007 ( )

Плагин ActiveSearch просто чудо какое-то, большое человеческое спасибо julik.nl за его разработку.

Штука сия облегчает и без того легкую жизнь ;-) rails-девелопера при разработке простейшего поиска по записям базы.

Идея сего плагина такова: используя разнообразные инексаторы исходя из планируемого объема данных вырабатываем оптимальный подход к поиску по записям базы.

Например, мой сайт содержит весьма небольшой объем данных, и, как рекомендует Julik, при объеме до 500 записей целесообразно использовать простейший индексатор ActiveSearch::LikeIndexer.

Для того чтобы поиск заработал необходимо:

1. Установить плагин:

cd project

ruby script/plugin install http://julik.textdriven.com/svn/tools/rails_plugins/simple_search/ 

2. Добавить поле searchable к таблицам, по которым вы собираетесь искать. Целессобразно сделать это через миграцию:

  def self.up
    add_column("products","searchable", :text)
    add_column("categories","searchable", :text)
   
 end 

def self.down   
    remove_column("products","searchable")
    remove_column("categories","searchable")
  end

3. В моделях Product и Category добавляем указание к индексированию:

   indexes_columns :title, :short_description, :long_description

4.  запустить начальное индексирование:

консоль rais:

ruby script/console

в консоли

Products.indexers[0].rebuild!

Category.indexers[0].rebuild!

Все, теперь мы можем достаточно быстро искать по записям:


@found_categories = Category.indexers[0].query(@query)
@found_products = Product.indexers[0].query(@query)

 Можно искать и по Category.find_using_term("query"), как в документации указано, но, видимо такое использование предполагает использование сразу нескольких индексаторов.

 

Таким образом плагин может быть использован с:

1. индексом в поле searchable в каждой модели, по которой будет производиться поиск.

2. индексом в отдельной таблице

3. индексом через плагин ferret 

способы индексации расположены в порядке увеличения количества данных для поиска.

Удобно, Julik, u made my day. 

 

Аяксовое дерево с drag-n-drop на Ruby on Rails

10:58, 17 декабря 2007 ( )
А вот, собственно, и ссылка на субж. http://ajaxonrails.wordpress.com/category/ajax-tree/
 

Railscast

10:06, 4 декабря 2007 ( )
Да, кто для себя еще не открыл сайт со скринкастами о руби он рейлс - велкам ту http://railscasts.com/  

RSpec, BDD и story

22:53, 16 ноября 2007 ( )

Новое слово в Behaviour Driven Development и отличном инструменте разработчика Rails приложений. Новый инструмент называется Rspec story. Появился он пока только в HEAD версии rspec, поэтому устанавливать rspec нужно из svn trunk.

Что такое истории 

Примеры rspec story 

Скринкаст о story, который обязательно стоит посмотреть. Примечателен приемением autotest для rspec 

 

Ознакомиться с REST, CRUD, Model, Resource

12:05, 3 августа 2007 ( )

Можно почерпнуть понимание этих терминов из заметки http://novemberain.com/2007/8/2/rest-crud-resource-model

Настоятельно рекомендую прочесть перевод статьи REST  как альтернатива SOAP, где простым и понятным языком объяснены различия этих двух технологий.

 

Перевод книги по Ruby "Учись программировать"

14:09, 18 июля 2007 ( )

Не могу не порадоваться появлению русскоязычного перевода в исполнении Михаила Шохирева "Learn to program".

http://www.shokhirev.com/mikhail/ruby/ltp/title.html

 

Quick win32 setup emacs for Ruby on Rails development

18:34, 2 июля 2007 ( )

По следам заметки Дмитрия Галинского мной был настроен emacs для работы с Ruby on Rails. Пока что по набору фич я считаю эту связку одной из самых мощных для разработки на ruby on rails.


Потому что (перечислю то, что было важно для меня):

  1. Мощный механизм snippets, все как у textmate - признанного лидера в сниппетах ;)
  2. Подсветка синтаксиса.
  3. Быстрый переход по "местам" проекта - views, layouts, controllers, tests.
  4. Быстрый переход по контексту (из контроллера во вьюшку, из вьюшки в партиал).
  5. Быстрый запуск migration, rake, generate.
  6. Запуск-перезапуск веб-сервера (Webrick, Mongrel, Lighttpd).
  7. Работа с vestion control (для меня - SVN).
  8. Контекстно вызывать документацю Rails (для Win32 можно работать даже с CHM вариантом)
  9. Автоматическое выделение ошибок при наборе кода.

И помимо вышеперечисленного emacs несомненно является мегаредактором по количеству приемов работы с текстом. 

Ну очень-очень бы хотелось видеть встроенную поддержку RSpec.

Надо отметить, что для такого новичка в emacs как я процедура инсталляции и настройки emacs не была такой уж тривиальной.

Для одного плагина требовалось сказать и установить пяток плагинов, для другого плагина требовалось установить еще три плагина. Весьма непростой оказалась сборка всего этого воедино.

После всех мытарств я решил собрать все плагины в одну кучу и сделать из  этого всего один пакет готовый к установке на Win32 системе.

Итак.

Качаем emacs и распаковываем в любую удобную для нас директорию. Для меня показалась удобной C:\Program Files\emacs22-1.

 Качаем  этот архив и распаковываем в c:\Documents and Settings\myuser\Application Data. Понятно, что myuser - тот пользователь, под которым вы сейчас в системе.

Свои плагины emacs будет искать именно там, в c:\Documents and Settings\myuser\Application Data\.emacs.d, а сам файл конфигурации c:\Documents and Settings\myuser\Application Data\.emacs

После распаковки запускаем emacs командой c:\program files\emacs-22.1\bin\runemacs.exe, успешным запуском будем считать окно emacs без errors и warnings.

Для начала работы нажмем Alt+x, в приглашении напишем ecb-activate [return], после чего должны загрузиться навигаторы по каталогам, файлам и по коду. Если в навигаторе по директориям у вас пусто - значит необходимо сконфигурировать ecb и добавить ваш каталог с проектами в конфигурацию: Menu->ECB->Preferences->Directories.

Все, далее рекомендую ознакомиться со статьей Дмитрия, изучить горячие клавиши навигации по коду и пройти tutorial на родном языке Ctrl+h t по базовым понятиям emacs.

 

 
страницы:
 1 
2 3 4 5 6 ... >|
© Nexus 2005-2007 Rambler Top100 О сервере