微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐