关于Rails的动作电缆指南中的第一个例子的理解

问题描述 投票:0回答:1

我想在我的应用程序中添加User Appearances示例(来自Rails指南:https://guides.rubyonrails.org/action_cable_overview.html#example-1-user-appearances),但我不明白这一部分:

# app/channels/appearance_channel.rb
class AppearanceChannel < ApplicationCable::Channel
  def subscribed
    current_user.appear
  end

  def unsubscribed
    current_user.disappear
  end

  def appear(data)
    current_user.appear(on: data['appearing_on'])
  end

  def away
    current_user.away
  end
end

如果有人对以下句子有解释:“出现/消失的API可以由Redis,数据库或其他任何东西支持。” (正好在Rails指南中的这部分代码之上)。

我尝试了几个选项,因为在我的模型User中添加了一个“出现”的方法,它从我的模型User更改了“true”数据库值,但订阅的定义调用current_user.appear然后出现的定义调用current_user.appear(with_param)产生冲突......

可能有些东西我不明白,但我看不出它究竟是什么......

非常感谢您的回答。

ruby-on-rails ruby actioncable
1个回答
1
投票

关于“出现/消失API支持”的句子 - 意味着ActionCable不关心您在何处以及如何存储和处理用户状态 - 您可能只在数据库中存储一个或多个数据(如上次看到的聊天室,上次见过的时间等)。 ),您可以在redis或任何其他您喜欢的地方存储类似的数据。

(un)subscribed方法是ActionCable本身在用户(dis)连接到该频道时调用的(通常这发生在页面加载和导航/关闭之后 - 当页面在浏览器中打开时,并不一定意味着用户实际上在他们的设备附近) ,而appear / away是通过在频道上调用perform("action_name_here")从客户端js调用的操作。示例假定客户端代码将检测用户状态并发送更新。

© www.soinside.com 2019 - 2024. All rights reserved.