我正在使用 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 时出现此错误
谢谢!
最佳答案
生成器错误是因为它在 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/