设计要求对Ajax请求进行身份验证

时间:2011-02-22 17:03:38

标签: jquery ajax ruby-on-rails-3 devise

我正在开发一个Rails 3应用程序,它已经设计为身份验证。我想要完成的事情非常简单。我在点击属性时更新了一个对象,所以这是我的AJAX调用:

$.post('/users/' + userId + '.json', user, function(data, textStatus, jqXHR){});

响应上述调用,我从浏览器获得HTTP身份验证对话框。我想知道可能是什么情况?任何想法在这里发生了什么?

1 个答案:

答案 0 :(得分:2)

默认情况下,Devise要求您在尝试更新用户时提供密码,以便根据您的描述我假设这是您的问题的原因。有一个devise wiki page that tells you how to change this behavior。另一个选择是编写自己的控制器来处理设计之外的用户模型更新。如果您确实禁用了密码要求,我建议您启用某种级别的授权,以防止每个人都能够更新用户模型。 CanCan是一个简单易用的授权宝石,可以提供帮助。