2011-11-02 49 views
1

我正在嘗試編寫一個rails 3.1應用程序,其中一個視圖將從M​​Q服務器彈出消息。如何在rails 3.1應用程序中擁有唯一的會話ID

我希望應用程序爲每個會話生成一個唯一的ID,以便我可以在MQ交換中使用該ID作爲通道名稱。

這個想法是我想讓應用程序啓動某種後端進程,它將使用MQ服務器作爲傳輸機制,以便將其日誌輸出發送到瀏覽器。當後端應用程序啓動時,我想創建一個基於此唯一標識的通道,以便其他會話不會將消息從隊列中彈出,而這些消息不適用於他們。

我想我需要的是一種方法來生成一個唯一的ID每個會話和一個可靠的方式將它從視圖傳遞到視圖。

謝謝。

+0

您是否嘗試過使用類似[劍聖(http://juggernaut.rubyforge.org/),或使用它作爲一個例子? – tadman

回答

1

我可能沒有想到通過正確,但會話ID呢?

+0

這實際上是我的希望。除了某些理由超出我的理解,我似乎無法訪問它。這裏是一個示例視圖模板{<% #encoding:utf-8 %> id <%= session [:session_id]%> }並且呈現時不顯示會話ID。 –

+0

嘗試session.session_id –

+0

沒有愛;未定義的方法'session_id'爲{}:Rack :: Session :: Abstract :: SessionHash –

1
在你的控制器動作

def myaction 
    @sessid = request.session[:session_id] 
end 

在您的視圖:

{<% # encoding: utf-8 %> id<%= @sessid %> } 

心連心。

1

做到這一點,而不是

@sessid = request.session_options[:id] 
相關問題