Rails4 jbuilder siempre devuelve el código de estado 200, incluso si puse otro código de estado
Construí una vista json para devolver json en una de las llamadas ajax en la aplicación rails4. He utilizado la idea sugerida aquí.https://stackoverflow.com/a/12832116/1560470
Pero siempre obtengo el código de estado como 200, incluso si hago cumplir otro código de estado.
Mi vista de jbuilder en view / managers / create.json.jbuilder tiene el siguiente aspecto:
if @manager.errors.messages.any?
envelope(json, :unprocessable_entity, @manager.errors.messages) do
json.success false
end
else
envelope(json, :created) do
json.success true
end
end
El asistente de mi aplicación lo explica de la siguiente manera:
module ApplicationHelper
def envelope json, status, errors
json.status status
json.data do
yield if block_given?
end
json.errors errors
end
end
Mi controlador es el siguiente:
def create
@manager = Manager.new manager_params
@saved = ( @manager.valid? && @manager.save )
end
Puedes ver incluso estoy pasandostatus
valor params como:unprocessable_entity
en mi vista de jbuilder, todavía la respuesta vuelve como 200 cada vez. Incluso yo usocualquier código de estado, siempre devuelve 200. Los códigos de estado se definen enhttp://guides.rubyonrails.org/layouts_and_rendering.html