2012-10-08 24 views
0

我做了我自己的SessionController,它擴展了Devise :: SessionsController。這樣它就可以響應HTML,JSON和XML,具體取決於用戶是在瀏覽器中還是使用移動設備。從自定義SessionController檢索設計錯誤

如果格式爲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

通常,表單錯誤存儲在object.errors(用於視圖中)。您似乎可能能夠根據Devise核心SessionsController中的代碼從resource對象中提取錯誤