gpt4 book ai didi

javascript - 如何在发布后更改 Rails Controller 的 View ?

转载 作者:行者123 更新时间:2023-11-30 21:15:19 24 4
gpt4 key购买 nike

我是 jQuery/Javascript 的新手,我在使用机器人实现聊天室时遇到了问题。我特别关注 Controller 和 JS 之间的通信。

基本功能:

  1. 用户输入评论
  2. Javascript 将带有评论数据的帖子发送到 Rails Controller
  3. Ruby 类 (@bot) 接收评论并返回响应
  4. 响应被添加到 View 中

    这是我目前的情况

Controller

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?
});
})

最佳答案

你的基本结构思路是正确的。您只需向您在 routes.rb 中创建的与您的 Controller 相关的路由发送发布请求,并返回一个包含您保存的消息的 json 对象。

jQuery.ajax({
url: "/chat/create", // a route in routes.rb for your controller
type: "POST",
data: {comment: submitted_comment , user_id: user_id }, // place to send data to your controller
dataType: "json"
success: function(data){
// data will be the response object(json)
// use data to create new chat object using a template of some sort
}
});

关于javascript - 如何在发布后更改 Rails Controller 的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45737361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com