2010-01-16 11 views
46

Me gustaría devolver un error HTTP 401 como parte de mi método permission_denied para declarative_authorization.Rieles: ¿Devuelve un 401?

# triggered when a user accesses a page that they don't have access to 
def permission_denied 
    # render my default 401 error page? 
end 

¿Cómo haré esto? (Perdonen la pregunta si es estúpida ... Sé cómo renderizar la página 401.html en mi directorio público, pero no creo que devuelva el encabezado HTTP 401, que es lo que estoy buscando.)

+0

Una lista completa de los estados se puede encontrar aquí: http://billpatrianakos.me/blog/2013/10/13/list-of-rails-status-code-symbols/ – Kris

Respuesta

77

puede agregar la opción :status

def permission_denied 
    render :file => "public/401.html", :status => :unauthorized 
end 
+0

Perfecto. ¡¡Gracias!! – neezer

+3

Agregue ': layout => false' para limpiar la página – Leopd

+3

Pasar el formato en el nombre del archivo evidentemente desaprobado, por lo que la nueva forma sería' render: file => "public/401",: status =>: desautorizado' . –

Cuestiones relacionadas