我创建了自己的SessionController,扩展了Devise :: SessionsController。这样,它可以响应HTML,JSON和XML,具体取决于用户是在浏览器中还是使用移动设备。
如果格式为HTML,我只需拨打super
,一切正常。如果它是JSON / XML,我希望能够在登录不起作用时显示错误以及401状态代码。现在我有:
respond_to do |format|
format.html { super }
if current_user
...
else
format.json { render :json => { :status => 401 } }
end
end
我想将:errors => ???
添加到该哈希值。但是如何从Devise中获取错误列表?
答案 0 :(得分:0)
通常,表单错误存储在object.errors
中(用于视图)。根据Devise核心SessionsController中的代码,您似乎可以从resource
对象中提取错误