Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails创建时无需重定向或刷新_Javascript_Ruby On Rails - Fatal编程技术网

Javascript Rails创建时无需重定向或刷新

Javascript Rails创建时无需重定向或刷新,javascript,ruby-on-rails,Javascript,Ruby On Rails,我在视图上有一个javascript脚本,它通过post方法将数据提交给rails控制器: $.post("/user_answers?user_answer[question_id]=" + gon.questions[questionNum]["id"] + "&correct=true") 基本上,控制员会接受这篇文章并更新或创建一个新的用户答案 def create @user_answer = current_user.user_answers.find_or_initi

我在视图上有一个javascript脚本,它通过post方法将数据提交给rails控制器:

$.post("/user_answers?user_answer[question_id]=" + gon.questions[questionNum]["id"] + "&correct=true")
基本上,控制员会接受这篇文章并更新或创建一个新的用户答案

def create
  @user_answer = current_user.user_answers.find_or_initialize_by(answer_params)    
  # Handles box assignment based on correct or wrong answer
  if params[:correct] == "true"
    @user_answer.box = 1
  elsif params[:correct] == "false"
    @user_answer.box = 2
  end
  @user_answer.save
end
这工作得很好,只是我注意到控制器试图重定向到user_answers/create并返回一个错误,因为它不存在。这根本不会影响用户的体验,但它会无缘无故地向服务器发出额外的请求

问题是,我不想重定向到任何内容或刷新到任何内容,因为帖子只需要更新记录。视图使用Javascript进行自我更新。如何删除.save或.create中的默认重定向到操作?

您可以加入

return false

无论您希望在何处停止操作中的代码执行

在这种情况下,如果您正在提交一个表单,则必须将remote设置为true(如果这是一个要向其传递值的表单)。我建议你看看这个,我有,但它基本上给出了一个类似的问题-它创建了一个get请求,必须由服务器处理。这是一个补丁,但你有没有尝试将_重定向到后面?啊,是的,我有。它还发送一个get请求并从模型中重新选择所有变量,这很烦人,因为我在那个特定视图上做了10篇文章(就像…测验)。在4个按钮中,您单击一个按钮,它会在更新到下一个问题时向控制器发送帖子。这些问题是预先选择的,并且在视图上的JS变量中。我正试图从您的链接中找出是否可以在jquery$.post方法中设置remote,或者是否必须切换到$.ajax…$。ajax肯定可以。阿贾克斯获胜:)