Ruby on rails 如何进入轨道';gem中的数据?
我使用faye和private pub作为推送服务器。我需要更新用户的状态为在线时,他订阅的渠道 我已经分叉了private_pub gem并更改了一些代码,我的应用程序发送了user_id,但我不知道如何找到用户并更新其状态,因为订阅事件在gem中触发Ruby on rails 如何进入轨道';gem中的数据?,ruby-on-rails,activerecord,gem,faye,private-pub,Ruby On Rails,Activerecord,Gem,Faye,Private Pub,我使用faye和private pub作为推送服务器。我需要更新用户的状态为在线时,他订阅的渠道 我已经分叉了private_pub gem并更改了一些代码,我的应用程序发送了user_id,但我不知道如何找到用户并更新其状态,因为订阅事件在gem中触发 module PrivatePub # This class is an extension for the Faye::RackAdapter. # It is used inside of PrivatePub.faye_app.
module PrivatePub
# This class is an extension for the Faye::RackAdapter.
# It is used inside of PrivatePub.faye_app.
class FayeExtension
def incoming(message, callback)
p "user_id = #{message['ext']['user_id']}"
if message["channel"] == "/meta/subscribe"
authenticate_subscribe(message)
# user = User.find(message['ext']['user_id'])
# user.status = 'online'
# user.save
elsif message["channel"] !~ %r{^/meta/}
authenticate_publish(message)
end
callback.call(message)
end
end
end
我可以获得用户id,但我不能在gem中使用用户模型。哪种方法最好?尝试将环境添加到private_pub.rb。 例如
如何在消息对象中拥有用户id?
require File.expand_path("../config/environment", __FILE__)