2012-10-28 3 views
2

나는 faye와 개인 pub을 푸시 서버로 사용합니다. 사용자가 채널을 구독 할 때 상태를 온라인으로 업데이트해야합니다.레일에서 rails의 데이터에 액세스하는 방법은 무엇입니까?

private_pub gem을 분기하고 일부 코드를 변경했지만 응용 프로그램에서 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를 얻을 수 있지만 보석에 User 모델을 사용할 수 없습니다. 가장 좋은 방법은 무엇입니까?

+0

어떻게 메시지 객체 안에 user_id를 가질 수 있습니까? – Chamnap

답변

1

private_pub.rb에 환경을 추가하십시오. 예 :

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