gpt4 book ai didi

jquery - 如何在弹出窗口中获取设备错误消息

转载 作者:行者123 更新时间:2023-12-01 00:20:10 26 4
gpt4 key购买 nike

我正在使用 jquery 将 devise 的注册表单加载为弹出窗口。问题是我无法在弹出窗口中加载设备的错误消息。

如果我点击空注册表单,我会被重定向到另一个页面,在该页面上会看到错误消息。

我浏览了 devise 的 github 帖子,但找不到我正在寻找的解决方案。

我在应用程序助手中创建了一个方法,以便 <%= devise_error_messages! %>表单助手中的代码工作正常。

应用程序帮助程序代码如下:-

 def devise_error_messages!
resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
end

我知道这有问题,但不知道是什么问题。谁能帮我解决这个问题吗?

更新

我认为,由于当我点击提交按钮时弹出框中没有显示错误,因此注册 Controller 的创建操作可能存在问题。将尝试覆盖设备注册 Controller 的默认创建操作。让我们看看它是否适用于这些更改。

更新2

进行了我在上面的更新中提到的更改,尽管它不起作用,但它给人一种感觉,我非常接近解决方案:)

仍在等待帮助。

谢谢

最佳答案

您是否覆盖 RegistrationsController 的创建操作?如果resource.save失败你可以这样做

render :json => { :success => false, :data => resource.errors.full_messages } 

应该只将错误消息返回给您的 jquery 脚本。例如:

$('#sign_up_form').submit(function() { 
$.post(this.action, function(response) {
if (response.success) {
//... do a redirect or something cuz we're now registered
} else {
// do something with your errors
$('#sign_up_form').prepend(response.data);
}
}, 'json');
});

关于jquery - 如何在弹出窗口中获取设备错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7685553/

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