Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Jquery 如何在弹出窗口中获取Desive错误消息_Jquery_Ruby On Rails 3_Device - Fatal编程技术网

Jquery 如何在弹出窗口中获取Desive错误消息

Jquery 如何在弹出窗口中获取Desive错误消息,jquery,ruby-on-rails-3,device,Jquery,Ruby On Rails 3,Device,我正在使用jquery将designe的注册表单作为弹出窗口加载。问题是我无法在弹出窗口中加载设备的错误消息 如果我点击空的注册表单,我会被重定向到另一个页面,在那里我会看到错误消息 我已经浏览了Desive的github帖子,但没有找到我正在寻找的解决方案 我在application helper中创建了一个方法,以便表单helper中的代码能够正常工作 应用程序帮助程序代码如下:- def devise_error_messages! resource.errors.full_mes

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

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

我已经浏览了Desive的github帖子,但没有找到我正在寻找的解决方案

我在application helper中创建了一个方法,以便表单helper中的
代码能够正常工作

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

 def devise_error_messages!
   resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join   
  end
我知道这有点不对劲,但我不知道是什么原因。有人能帮我解决这个问题吗

更新

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

更新2

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

仍在等待帮助


谢谢,

您是否正在覆盖RegistrationController的创建操作?如果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'); 
});