我正在使用Activeadmin创建一个仪表板页面和Devise for User授权。我有2个模型是会员(普通用户)和用户(管理员用户)。当我使用Action电缆功能显示用户外观时,只有会员用户才能收到这些广播。问题是用户模型也可以如何接收这些广播?
谢谢你的时间,抱歉我的笨拙英语
我的联系
module ApplicationCable类Connection <ActionCable :: Connection :: Base identified_by:current_member
def connect
self.current_member = find_verified_member
# self.current_user = find_verified_member
logger.add_tags 'AcctionCable', current_member.email
end
protected
def find_verified_member
# if current_member = Member.find_by(id: cookies.signed[:member_id])
if verified_member = env['warden'].user
verified_member
else
reject_unauthorized_connection
end
end
结束
如果你想与actioncable和activeadmin聊天,这里有一个gem的例子。 active_admin_chat
或者您可以尝试下面的代码。
def connect
self.current_member = find_verified_member
end
protected
def find_verified_member
cookies_signed = cookies.signed
admin_user_id = cookies_signed['admin_user.id']
if admin_user_id
AdminUser.find(admin_user_id)
else
User.find(cookies_signed['user.id'])
end
end
当成员与ActionCable建立连接时,您似乎希望向用户广播频道。如果是这样,在def subscribed
方法中,无论渠道成员订阅了哪个,您希望通知管理员用户,请将广播作业运行到所有管理员用户都可访问的频道。管理员可以建立客户端以订阅此频道以接收这些广播。