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

前端 未结 2 640
清酒与你
清酒与你 2021-02-11 09:49

The simplest example here to think of are Facebook notifications, for example when somebody posts a comment on your status, likes your photo, or just sends you an invite to some

相关标签:
2条回答
  • 2021-02-11 10:27

    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.

    0 讨论(0)
  • 2021-02-11 10:36

    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.

    0 讨论(0)
提交回复
热议问题