Pull to refresh

Всплывающие flash-сообщение из глубин фоновых задач

Reading time1 min
Views2.3K
Каждый раз, когда необходимо выводить flash-сообщение сталкиваешься с одними и теми же проблемами: непонятно где эти сообщения выводить, толи заранее на странице определить место, которое жалко, толи сделать растягиваемый дизайн, что не всегда удобно. А еще этих сообщений может быть много, а еще каждый норовит сохранять их под своим ключем (warning, notice..). Когда понадобилось посылать пользователю сообщения из delayed_job стало понятно что нужно решить эту проблем раз и навсегда.

gem gritter_notice — выводит flash и удобно обрабатывает сохраняемые в базе всплывающие сообщения в 5 строчек кода.

image


Визуальный пример: boedesign.com/demos/gritter

Установка:



Подключаем модули в Gemfile

gem 'gritter'  # Не забываем произвести установку js,css и image-файлов согласно его инструкциям
gem 'gritter_notice'


Создаем таблицу gritter_notices

    rails g gritter_notices
    rake db:migrate


Подключаем в notices в модель user:

    class User < ActiveRecord::Base
    has_gritter_notices


В layout делаем так (haml-пример):
 %head
    = include_gritter
 %body
    = gritter_flash_messages


Использование



user.notice 'Просто текстовое сообщение'
# Покажет простое текстовое сообщение

user.notice 'Текстовое сообщение', :level=>:error, :sticky=>true
# Сообщение застынет до тех пор пока его не закроют.


Подробнее: github.com/dapi/gritter_notices
Tags:
Hubs:
Total votes 56: ↑47 and ↓9+38
Comments19

Articles