ユーザーのステータスを追跡して、利用可能か、ビジーか、オフラインかを確認する必要があるレールアプリを作成しています。下でFayeを使用するprivate_pub gemを使用しています。ユーザーがサインインすると、チャネル /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
ラックアップファイルでアクティブレコードを使用できるようにするには、特定のファイルを要求する必要があると思います。しかし、方法がわかりません。
助けてくれてありがとう。