【问题标题】:Rails 4: Notifications by userRails 4:用户通知
【发布时间】:2018-04-09 11:13:15
【问题描述】:

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

当我尝试运行服务器时,路由 mount ActionCable.server => '/cable' 中也出现此错误:

/config/routes.rb:9:in `block in ': 未初始化 常量 ActionCable (NameError)

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    对于用户特定的通知,我建议使用 UserChannel 并利用 stream_for 函数,因为它会为每个用户创建一个频道:

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

    然后您可以简单地向每个用户广播您想要的任何通知,如下所示:

    user = User.find(params[:id])
    UserChannel.broadcast_to(user, { notification: 'Test message' })
    

    【讨论】:

      猜你喜欢
      • 2014-04-29
      • 2013-09-07
      • 2015-02-05
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多