What are some ways that I can implement notifications in a Rails application?

狂风中的少年 提交于 2019-12-03 10:09:07

I use my existing User model for this, by way of a serialized messages array.

Add a messages column (TEXT type) to your user table, via migration:

add_column :users, :messages, :text, :null => false, :default => "--- []"

Then serialize it in your user model:

serialize :messages, Array

Now, you can do this:

# Add messages
@user.messages.push "You have a new message!"

# Read messages
@user.messages # => ["You have a new message!"]

# Clear one message
@user.messages.delete_at(0)

# Clear all messages
@user.messages.clear

# Get message counts
@user.messages.empty? # => true
@user.messages.count  # => 0

If you need more detailed messages with multiple parameters (from, subject, importance), you could always use a hash instead.

I have an Alert model on my site. When something happens an alert gets added and other users see the alert when they login. Important is to have a dismiss field, so a user can dismiss an alert, so the user won't see the same alert over and over again. It also has an area field, so you can connect the alert to a certain part of the website and it has a detail_link field, to give the user a link he can click on to go to see what the alert is about.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!