2012-10-28 47 views
2

我用王菲和私人酒館推送服務器。當他訂閱頻道時,我需要將用戶的狀態更新爲在線。如何訪問寶石軌道的數據?

我已付出private_pub寶石和改變了一些代碼,我的應用程序發送user_ID的,但我不知道如何找到用戶,並更新自己的狀態,因爲在創業板申購事件觸發。

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 

我可以得到user_id但我不能在用戶模型中使用寶石。哪種做法最好?

+0

你怎麼能在消息對象中有user_id? – Chamnap

回答

1

嘗試添加環境private_pub.rb。 例如。

require File.expand_path("../config/environment", __FILE__)