jQuery Mobile的导轨和制定与不正确的凭据登录时加载页面时出错(Jquery Mobile

2019-09-22 06:26发布

我得到的Rails 3的窍门,并取得了一对夫妇的工作应用程序。 我是新来使用JavaScript或jQuery的有轨。 我有轨3.2,设计和康康舞一个工作程序。 然后我把它转换使用jQuery Mobile的。 整个应用程序正在使用它,我做了桌面和移动之间没有区别。

问题:

一般来说一切工作除了一些小东西的罚款。 其中之一是,我可以用正确的凭据并登录后,闪光灯将显示我在我签约成功登录。如果我有不正确的凭据登录它只是显示一个Error loading page (不闪光消息像正常说Invalid email or password ) 。 所有其他的提示信息是正确显示,据我所看到的(由JQM格式化黄色)。

我迄今所做的:

搜索高和低的类似问题,但没有喜悦(最相似的是重定向或找不到网页错误)。 在Firebug它表明401 Unauthorized - Response - Invalid email or password

我注释掉所有康康舞的东西(这是所有工作没有JQM) - 这没有什么区别 - 它不是,它是重定向别的地方那里有没有权限等。

我不是那个熟悉的任何指针如何的JavaScript / AJAX改变正常轨道的行为,但将不胜感激。

Answer 1:

简答

要解决这个问题的最快方法是使用rails g devise:views为设计出意见复制到你的项目,以便您可以对其进行编辑。 然后,你需要添加以下到form_for后右行:urlnew.html的会话控制器模板:

:html => {:data => {:ajax => 'false'}}

这将告诉jQuery Mobile的这种形式不应被劫持并制作成一个Ajax请求。

原因

jQuery Mobile的将劫持一切形式的链接,并将其转化为Ajax请求。 除非你设置一个respond_to在控制器中的Rails块仍然会呈现什么模板已设置。 这通常不是一个问题,因为刚刚JQM解析出所需的页面div中。 然而,设计的控制器有不同的反应基于请求和您收到一个Ajax应答JQM不知道如何处理。 这就是为什么上面的最简单的解决方案是让JQM不打开登入形式进入的Ajax请求。 其他可能的解决方案包括修改会话控制器或添加代码默认了ajax成功处理程序来检查非状态200返回响应,并适当地处理它们。



文章来源: Jquery Mobile Rails & Devise Error loading page when logging in with incorrect credentials