我正在编写一个 Rails 应用程序,它需要跟踪用户的状态以查看他们是否可用、忙碌或离线。我正在使用 private_pub gem,它在下面使用 Faye。当用户登录时,他订阅频道 /user/[:user_id]。当他们使用 Faye 的订阅事件侦听器订阅时,我想将用户的状态更新为 ONLINE。我在 private_pub.ru 文件的末尾添加了这段代码:
server = PrivatePub.faye_app
server.bind :subscribe do |client_id, channel|
if /\/user\/*/.match(channel)
m = /\/user\/(?<user_id>\d+)/.match(channel)
user_id = m[:user_id]
end
user = User.find(user_id)
user.status = 1 # 1 means online
end
run server
问题是每次用户订阅时,瘦服务器都会报告:
[ERROR] [Faye::RackAdapter] uninitialized constant User
我想我需要某些文件才能在 rackup 文件中使用 activerecords。但我不知道怎么做。
谢谢你的帮助。