0

我制作了自己的 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 获取错误列表?

4

1 回答 1

0

通常,表单错误存储在object.errors(用于视图中)。resource根据设计核心 SessionsController 中的代码,您似乎可以从对象中提取错误

于 2012-10-08T22:07:35.603 回答