← All posts tagged Rails

У меня тут в рельсах одна модель зависает в продакшене на одной из валидаций.
Валидация ничего особого из себя не представляет — ActiveRecord::Validations::UniquenessValidator
Т.е. просто obj.valid? уходит в бесконечные раздумья, а процесс сжирает всё ядро.
Есть идеи, как понять, в чём проблема?

Вопрос по рельсам: что вы делаете для отображения даты/времени в местном timezone пользователя?
Нашёл вот такой выход: torqueo.net — м.б. кто-нибудь предложит что-то поинтереснее?

Думаю таки забить на идею прикручивания к ActiveMerchant интеграции с Мастербанком.
Что-то не выходит сделать красиво, а документации у ActiveMerchant нормальной нет.
Сейчас вот столкнулся с тем, что непонятно, как передать параметр из хелпера в нотификейшн, думается, что никак.
Буду свой велосипед писать.

Господа, есть вопрос
Есть вот такие модели:
gist.github.com
И вот такой код:
order.cart.cart_items.new(:title => 'Title')
order.save
И всё прекрасно работает

Но если в OrderAuditObserver раскомментить закомменченные строки
#case resourse.class
#when Order
#end

То товары в корзине начинают задваиваться.

С раскоменченными строчками лог выглядит примерно вот так: gist.github.com
С закоменченными: gist.github.com

Т.е. по факту строчка
MONGODB (0ms) webra_development['orders'].update({"_id"=>BSON::ObjectId('501c46588524884e3c00000e')}, {"$set"=>{"updated_at"=>2012-08-07 21:08:51 UTC}, "$pushAll"=>{"cart.cart_items"=>[{"amount"=>1, "_id"=>BSON::ObjectId('502183e38524882445000013'), "title"=>"Title")}]}})Redirected to localhost:3001
то один, то два раза повторяется

Any ideas?

Подскажите, nginx по непонятным причинам любит кешировать рельсовый сайт (на thin).
Грешу именно на nginx, ибо при обращении напрямую к thin проблемы не возникает.
При этом нигде кеширование не врубал.
Доходит до того, что в /my (личный кабинет пользователя) отображается личный кабинет другого пользователя.

Конфиг nginx: gist.github.com
Конфиг thin: gist.github.com

Mongoid опечалил меня.
Шаг влево от элементарных вещей — и приходится запросы полностью вручную писать.
Причём даже примеров толком нет :(
М.б. кто-нибудь подскажет, что в группирующей функции передать в параметре :cond?
Пробовал разные вещи — не хочет фильтровать записи.
Документация вот тут, если что: api.mongodb.org

Вопрос по миграциям в Rails. Слышал есть gem'ы для автоматических миграций на основе моделей.
Подскажите, если кто использует.
P.S. Да, я развращён монгой.

Внезапно обнаружил, что в одном из рельсовых приложений перестались автоматически require'иться gem'ы из Gemfile.
Пошли ошибки вида "uninitialized constant Devise (NameError)".
После ручного добавления в application.rb
require 'devise'
require 'kaminari'
require 'simple_form'
и прочих gem'ов, приложение начало оживать.
Никто не сталкивался с подобным?