Вот возник вопрост при работе с MongoDB
Надо вивести онлайн пользователей в devise
в ActionController добавил
def set_last_request_at
current_user.update_attribute(:last_request_at, Time.now) if user_signed_in?
end
Обновил таблицу в USerModel добавлением field :last_request_at, :type => Time
а теперь пробую вивести тех кто онлайн
def users
@userso = User.where(["last_request_at > ?", 5.minutes.ago]).all
end
И вилетает ошибка
undefined method `expand_complex_criteria' for ["last_request_at > ?", Sun, 04 Mar 2012 19:56:17 UTC +00:00]:Array
кто работал с MongoDb в чем может бить проблема?
Рановато ты на монгу полез. Mongo = NoSQL, у тебя же идет sql условие.
для монги это будет where(:last_request_at.gt => 5.minutes.ago)
san, a не можеш подсказать найболее точное рускоязичное руководсво по монге?
А то все что находил мне не подходит) точнее там только консоль и все
русскоязычного руководства нет и вряд ли будет, оно никому не нужно. Специалисты которые выбирают mongo для своих проектов делают выбор не в первом же своем проекте и с английским у них все в порядке. Поэтому переводить серьезно вряд ли кто-то будет.
Консоль работает почти так же как и финдеры в адаптерах. Открывай доку по юзаемому адаптеру и там есть примеры и фичи.
san, как работать с разными файлами при аплоаде в carrierwave? Нужно для музыки, картинок, видео ... то есть для каждого типа файлов отдельный класс аплоада генерировать или в одном со всеми типами работать? Если в одном то как их правильно разделять и как с ними работать(изменять размер, создавать превьюшки etc)?
добавлено спустя 3 часа 16 минут:
version :medium, :if => :image? do
process :resize_to_fit => [300, 300]
end
protected
def image?(new_file)
new_file.content_type.include? 'image'
end
Вот так с каждым типом файлов работать?
Так. Я другого способа пока не знаю) Когда надо было грузить images и pdf юзал именно такой способ.
Вообще есть идея попробовать для такого заюзать полиморфизм в моделях и под каждый тип файла создавать отдельную модель и крепить свой аплоадер.