1
jQuery/Javascriptが新しく、ロボットでチャットルームを実装するのに問題があります。私は特にコントローラーとJSのコミュニケーションに固執しています。投稿後にレールコントローラからビューを変更するにはどうすればよいですか?
基本的な機能:
- ユーザーのタイプは
- Javascriptがコメントを受け取り、応答を返す
レスポンスが取得するコメントデータ
- Rubyのクラス(@bot)とコントローラをレールにポストを送信コメント表示に追加
これは私が今までに持っているものです
コントローラ
class MainPageController < ApplicationController
def chat
@username = params[:username]
@bot = JibunBots.new(@username, Message.where(:username => @username).first.message)
respond_to |post| do
return @bot.conversation(post.data)
end
end
end
Javascriptを
$(document).ready(function() {
$("#submitmsg").click(function(){
var clientmsg = $("#usermsg").val();
$('<p>' + gon.username + ": " + clientmsg + '</p><br>').appendTo('#chatbox');
$("#usermsg").attr("value", "");
#SEND POST HERE?
#RECEIVE DATA FROM CONTROLLER?
#ADD NEW COMMENT HERE?
});
})
チャットシステムを作成している場合は、サーバーサイドイベントやWebSocketを調べることをおすすめします。まもなく誰かがそれを提案すると確信しているので、AJAXのポーリングを使用しないでください。 –
このAJAXオプションに問題はありません。あなたのニーズに本当に依存します:リアルタイムチャットが本当に必要ですか、それとも30秒ごとに更新されても大丈夫ですか? – MrYoshiji
@MrYoshiji 20~30秒かかりますと完全に問題ありません – Quinty