ruby-on-rails - rails 4 : Notifications by user

标签 ruby-on-rails notifications ruby-on-rails-5 actioncable

我正在使用 action cable 在我的应用程序中创建通知。通知区域是基于 this tutorial 创建的.问题是:如何按用户划分通知?以便将通知单独发送给每个用户。我正在使用带有 gem 'actioncable' 的 rails 4.2.6

我也在路线 mount ActionCable.server => '/cable' 中遇到此错误当我尝试运行服务器时:

/config/routes.rb:9:in `block in ': uninitialized constant ActionCable (NameError)



当我尝试生成 chanel 时出现此错误

enter image description here

谢谢!

最佳答案

生成器错误是因为它在 Rails 5 之前不可用,因此您需要升级您的应用程序才能使用它。

至于用户特定的通知,我建议使用 UserChannel 并利用 stream_for函数,因为它将为每个用户创建一个 channel :

class UserChannel < ApplicationCable::Channel
  def subscribed
    stream_for current_user
  end
end

然后你可以简单地向每个用户广播你想要的任何通知,如下所示:
user = User.find(params[:id])
UserChannel.broadcast_to(user, { notification: 'Test message' })

关于ruby-on-rails - rails 4 : Notifications by user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49731600/

相关文章:

javascript - 每次提交时,Rails 4 Ajax 在同一页面上多次渲染部分

android - 单击 Android 通知会创建一个新 Activity ,而不是转到现有 Activity

ruby-on-rails - 如何本地化 ActiveModel::错误消息

ios - 在 iOS Swift 4 中重置 FCM 角标(Badge)计数

javascript - 适用于 Chrome 以外浏览器的桌面通知 API?

javascript - Rails 5 使用 will_paginate 创建加载更多按钮

ruby-on-rails - 查询空多态关联

html - 如何将 Twitter Bootstrap 的字形与 Rails 的 button_to 结合使用

ruby-on-rails - 在 CoffeeScript 中访问 Rails 变量

ruby-on-rails - Rails 3 部署的最佳环境是什么