2011-03-04 56 views
0

我想在用户点击“登录”链接时弹出一个模式对话框(facebox)的页面(在rails 3中)做一个登录。我有一切工作没有Ajax和没有模式弹出。用rails中的ajax更新模式弹出框(facebox)

我想通过以下操作来实现这一点:

  1. 显示模式弹出形式包含一个标志,当用户点击
  2. 通过执行在轨阿贾克斯后(远程“符号”: =>真)
    1. 如果凭据是好的,登录用户,并重定向到主页
    2. 如果凭据是不好的,显示提示信息,并重新设置登录表单模式弹出

我被卡住的部分是最后一部分,显示了Flash消息并重置了弹出模型中的登录页面。

我该如何做最后一步?

编辑:

我从我需要发送的提示信息为JSON我的看法的评论理解,我知道该怎么做(在控制器JSON响应)。但是,我如何连线这些东西,以便我可以显示闪光消息并重置模式中的表单,而无需重新加载整个页面?

+0

你不能有Flash + AJAX,因为闪存存储在会话中,发送你的错误在JSON到你的看法。 – apneadiving 2011-03-04 10:13:03

+0

好的谢谢你。但我如何重新加载模式弹出窗体重置?我只需重新加载页面并以编程方式触发模式弹出窗口?一定会有更好的办法。 – Fendo 2011-03-04 10:16:19

+0

也许你可以使用https://github.com/ihower/facebox_render,我想它确实是你想要做的。 – Fran 2011-03-04 10:19:53

回答

0

如果您通过Ajax(:remote => true)提交表单,那么您可以在验证失败时从服务器发送JavaScript响应。此响应将显示错误消息。 如果你有任何进一步的查询,然后继续:)

+0

JavaScript响应会自动重新加载模块弹出窗口中的内容吗?如果是这样,那么我想我不需要做其他任何事情。 – Fendo 2011-03-04 10:28:40

+0

实际上,facebox是HTML页面的一部分,不像普通弹出窗口(子窗口)。所以我不认为你需要做其他事情。 – Ashish 2011-03-04 10:34:05