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

我使用 jquery加载设计的注册形式作为弹出窗口.问题是我无法在弹出窗口中加载设备的错误消息.

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

我已经完成了设计的github帖子,但找不到我要找的解决方案.

我在应用程序助手中创建了一个方法,以便<%= devise_error_messages! %GT;表单助手中的代码正常工作. 应用程序帮助程序代码如下: –

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

我知道这有什么不对,但无法弄清楚是什么.任何人都可以帮我解决这个问题.

UPDATE

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

更新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'); 
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...