2012-04-09 112 views
0

我想知道如何在2個用戶之間使用ajax進行消息傳遞。我真的不知道該怎麼去做。我基本上想要一個/消息網址,並在其中將有一個「發送消息」按鈕,還有一個「接收消息」按鈕。當用戶點擊「發送消息」時,它將異步顯示所有發送的消息,同樣也顯示「收到的消息」。如何在rails中使用ajax進行私人消息傳遞

我創建了兩個partials來分別顯示它們中的每一個,但即時通訊丟失了什麼放在Message#index(其中/ messages顯示在哪裏)。我應該在那裏放置什麼樣的形式?我讀到,因爲它的索引函數被調用,我應該在函數內部有一個.js的responds_to,然後創建一個名爲index.js的文件?

對不起,但這個阿賈克斯對我來說還是新的。 非常感謝您的幫助=)

+0

首先實現一個非ajax表單。然後它會更容易。 – 2012-04-09 07:08:44

+0

會做。謝謝! – Sasha 2012-04-09 21:16:29

回答

2

這將是複雜的回答你如何構建視圖,partials和控制器代碼,但我可以告訴你解決你的問題的一般概念。
這可以分爲以下幾步:
1.您必須爲用戶提供一種在系統中註冊的方法。
2.每個用戶都可以訪問控制器(比如說Messages)。
3.消息控制器應該有幾個動作來提供用戶創建和發送消息。你也應該有一些類似index的動作(和它的.js表示)來顯示傳遞給這個用戶的消息。爲了達到這個目的,你可以使用polling for changes method,這裏顯示的是:Polling for changes。要創建新消息,您實際上並不需要使用AJAX。它可以是簡單的形式,用於在您的MessagesController中發送一些文本到動作。消息可以保存在數據庫中,然後通過「輪詢更改」技術在index視圖上呈現。

我希望我給你一些線索來解決ypur問題。

+0

謝謝!投票的變化很有見地,所以總體思路=) – Sasha 2012-04-09 21:16:19

+0

很高興爲您提供幫助 – bor1s 2012-04-10 07:23:18