Ajax Russia : Аякс по-русски

Свежие новости из мира IT

Archive for December, 2007

Плагины для Rails: annotate_models

railsПродолжу начатую неделю назад традицию - писать об интересных плагинах для Ruby on Rails. На этот раз речь пойдёт об annotate_models.

Все знают про migrations? Если нет, то ознакомьтесь. Так вот, если у вас не совсем новый проект, то наверняка в папке db/migrate лежит несколько десятков, если не сотен файлов. Во время разработки то добавишь колонку, то удалишь что то. В этом ничего плохого нет, но иногда забываешь какие же у моделей на данный момент атрибуты.

Раньше я залезал или в MySQL клиент, или в schema.rb чтобы освежить память, но теперь нашёл один полезный плагин. Называется он annotate_models и добавляет в проект rake task. После его запуска, скрипт проверит все таблицы в базе данных и к каждой модели и fixture добавит комментарии, где перечислит все их атрибуты. Read more

No comments

Плагины для Rails: meta_tags

railsТак как наибольшую часть своего времени я провожу за разработкой вэб сайтов на Ruby on Rails и кое чему уже научился - буду писать о своих находках в блоге. Первым делом хочу сделать обзор плагинов, которые можно встретить в моих проектах. Их слишком много, чтобы написать о всех в одном посте, поэтому буду постить один обзор в неделю.

Первый плагин о котором хочу рассказать - это meta_tags. Read more

5 comments

Modalbox 1.6.0

modalboxОчень рад объявить о новой версии Modalbox‘a 1.6.0. Если кто не в курсе - Modalbox позволяет создавать модальные диалоги при помощи джаваскрипта, xhtml и css. Возможности у библиотеки большие и по моему мнению - это лучший скрипт для модальных диалогов на данный момент. К тому же, разработчик Modalbox’a, Андрей Оконечников - русский. Так что вдвойне приятно :)

Вот некоторые новшества:

  • Новый Modalbox больше не зависит от builder.js, так как у нового прототайпа есть свой DOM Builder. Это значит что moдалбокс стал весить меньше и зависит только от prototype.js и effects.js. Разработчикам на Rails вообще везёт, так как prototype и script.aculo.us там и так стандартные библиотеки ;)
  • Также Modalbox стал лучше работать с IE7. Страница больше не скролится наверх при открытии модального диалога, и select элементы больше не прячутся. Андрей обещает в скором будущем исправить баги и в IE6.
  • Появились 2 новые функции и 1 callback.
    resizeToInclude(element [, options])
    принимает как параметр DOM элемент и увеличивает на его высоту - высоту у Modalbox’a.
    resizeToContent([options])изменяет размер у Modalbox’a настолько, чтобы в него оптимально помещались все элементы. Полезно, если например вы удалили из него какие то элементы джаваскриптом.
    beforeHide это новый callback, который срабатывает перед тем как Modalbox начинает прятаться. Полезно, если надо забрать какие нибудь значения из Modalbox’a, перед тем как он исчезнет.

И это ещё не всё. Изменений очень много и подробнее о них в CHANGELOG-e и на официальном блоге. Баги можно (и нужно) постить вот сюда.

No comments

jQuery on Rails

jRailsНаверняка есть фанаты jQuery, которые не хотят пользоваться Ruby on Rails из за того, что с рельсами в комплекте идут Prototype и Script.aculo.us. Теперь этому пришёл конец. И всё благодаря одному плагину - jRails. После его установки, все функции, которые раньше выдавали джаваскрипт, будут выдавать код jQuery.

Список поддерживаемых функций:

Prototype:

  • form_remote_for
  • form_remote_tag
  • link_to_remote
  • observe_field
  • observe_form
  • periodically_call_remote
  • remote_form_for
  • submit_to_remote

Script.aculo.us:

  • draggable_element
  • drop_receiving_element
  • sortable_element
  • visual_effect

RJS:

  • hide
  • insert_html
  • remove
  • replace
  • replace_html
  • show
  • toggle

Работу эффектов можно посмотреть по этой ссылке. Автор утверждает, что все эффекты работают идентично аналогам от Script.aculo.us.

А я попробую этот плагин в деле. Сделаю асинхронный запрос на сервер, получу оттуда время и покажу этот результат в DIV’e. Read more

No comments

Rails 2.0

Rails logoНаконец то вышла новая версия моего любимого фреймворка. Ruby on Rails теперь 2.0. Вернее даже 2.0.1. Куча новых функций и оптимизаций. Я уже второй вечер перевожу свой проект на новую версию и некоторые вкусности уже попробовал в деле. Вот некоторые из них:

  1. Сессии в кукисах
    Больше не нужно хранить сессии в файлах на сервере, или в базе данных. Сессии хранятся в кукисах у юзеров и защищены от редактирования (Если я правильно понял, то проверяется их хэш). Если не наглеть и не хранить в сессии много данных, то этот метод очень прост и эффективен.
  2. Sexy migrations

    Раньше было вот так:

    RUBY:
    1. create_table :people do |t|
    2.   t.column, "account_id",  :integer
    3.   t.column, "first_name",  :string, :null => false
    4.   t.column, "last_name",   :string, :null => false
    5.   t.column, "description", :text
    6.   t.column, "created_at",  :datetime
    7.   t.column, "updated_at",  :datetime
    8. end

    А сейчас так:

    RUBY:
    1. create_table :people do |t|
    2.   t.references :account
    3.   t.string  :first_name, :last_name, :null => false
    4.   t.text    :description
    5.   t.timestamps
    6. end

  3. Routes для моделей
    Теперь вместо redirect_to user_path(user), можно написать redirect_to(user). Тоже самое с link_to и form_for. Из объектов сгенерируются правильные ссылки.

Ещё есть миллион функций, которые я не испробовал. Подробнее про них написано тут.

Ну и напоследок - инструкция по установке. Рекомендуется установить Ruby 1.8.6, Rubygems 0.9.5 и выполнить эту комманду gem install rails -y.

No comments

Next Page »