我使用Activeadmin制作仪表板页面并设计用户授权。我有2个模型是会员(普通用户)和用户(管理员用户)。当我使用Action电缆功能显示用户外观时,只有会员用户才能收到这些广播。问题是用户模型也可以如何接收这些广播?
感谢您的时间,对不起我的笨拙英语
我的连接
模块ApplicationCable class Connection< ActionCable ::连接::基地 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
端 端
答案 0 :(得分:1)
如果您想与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
答案 1 :(得分:0)
当成员与ActionCable建立连接时,您似乎希望向用户广播频道。如果是这样,在<Grid Margin="10,10,1477,669" BorderThickness="1">
<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" Margin="10" HorizontalAlignment="Stretch" Height="200" Grid.Row="1">
<Frame x:Name="MyFrame" Margin="10" />
</ScrollViewer></Grid>
方法中,无论您订阅哪个频道成员,都希望管理员用户收到通知,请将广播作业运行到所有管理员用户都可以访问的频道。管理员可以建立客户端以订阅此频道以接收这些广播。