gpt4 book ai didi

ruby-on-rails - 处理来自远程真 Rails 的响应时出错

转载 作者:行者123 更新时间:2023-12-04 03:44:40 25 4
gpt4 key购买 nike

我正在使用 Rails remote true 进行 ajax 调用,但在处理响应表单 Controller 时出错。

我正在做的是我第一次在 View 中呈现的部分中放置了一个表单,并且我还在 form_for 的 html 选项中给了它一个 id。我还在该表单上应用了一些 jQuery,例如保存和取消按钮,以及在其中一个字段上的日期选择器脚本。

当我使用 format.js 处理来自服务器的响应以呈现 js 文件时,我在其中放置了如下代码

if @vairable.save
format.js { render 'some-file' }
else
format.js { render 'something'}
end

如果变量保存成功,我会正确关闭表单,但如果发生验证,我会通过在 js.erb 文件中编写 JavaScript 代码再次呈现表单。我在处理此回复时遇到问题。错误显示正确,但是当表单再次呈现错误时,应用于其字段和按钮的 jQuery 事件不起作用。 jQuery 事件不会发生。

此问题仅在发生模型验证且验证栏与新渲染表单一起显示时发生。

最佳答案

您应该将您的回复包裹在 respond_to 中像这样阻止:

respond_to do |format| 
if @variable.save
format.js { render 'some-file' }
else
format.js { render 'something'}
end
end

编辑:您的 jQuery 标签应该更改为 $(document).on(...) .例如。
#change this:
$("#your-target-id").click(function(){
alert("This doesn't work after your have submitted via ajax")
});

#to this:
$(document).on("click", "#your-target-id", function() {
alert("This should work after ajax submission, and when errors are displayed");
});

关于ruby-on-rails - 处理来自远程真 Rails 的响应时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16487344/

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