Jbuilder Rails4 zawsze zwraca kod statusu 200, nawet jeśli umieściłem inny kod statusu
Zbudowałem widok json, aby zwrócić json w jednym z wywołań ajax w aplikacji rails4. Użyłem sugerowanego tutaj pomysłuhttps://stackoverflow.com/a/12832116/1560470
Ale zawsze otrzymuję kod statusu jako 200, nawet jeśli wymuszam inny kod statusu.
Mój widok jbuildera w widoku / managerze / create.json.jbuilder wygląda następująco:
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
Moja aplikacja pomocnicza lloks wygląda następująco:
module ApplicationHelper
def envelope json, status, errors
json.status status
json.data do
yield if block_given?
end
json.errors errors
end
end
Mój kontroler jest następujący:
def create
@manager = Manager.new manager_params
@saved = ( @manager.valid? && @manager.save )
end
Widać, że nawet mijamstatus
params value as:unprocessable_entity
w moim widoku jbuildera wciąż odpowiedź wraca jako 200 za każdym razem. Nawet ja używamdowolny kod statusu, zawsze zwraca 200. Kody statusu są zdefiniowane whttp://guides.rubyonrails.org/layouts_and_rendering.html