Ich implementiere eine einfache API in meiner Anwendung, um mit einer Android-Anwendung zu kommunizieren. Ich versuche, AbstractController :: Metal hauptsächlich für die Performance zu verwenden. Das Problem, das ich habe, ist, dass Render ignoriert die Statusoption, die ich übergeben.
Sehr einfaches Beispiel:
%Vor%Anrufen
%Vor%Ich würde erwarten, eine 401 zu erhalten, aber stattdessen bekomme ich 200 OK:
%Vor%Irgendwelche Ideen? Das Überschreiben von response.status ist die einzige Arbeit, die ich bisher gefunden habe, aber ehrlich gesagt sieht es wie ein hässlicher Hack aus.
Vielen Dank im Voraus für Ihre Einsichten.
Um nichts zu rendern und den Code 401
use zurückzugeben, verwenden Sie:
Ich hatte das gleiche Problem mit dem unten gezeigten Beispielcode. Dies funktionierte mit ActionController::Metal
in Rails 3 und begann nach dem Upgrade auf Rails 4.2.4 :
Der Test ist nach dem Upgrade fehlgeschlagen. Um das zu lösen, musste ich mich um
kümmern class UnauthorizedController < ActionController::Metal
bis
class UnauthorizedController < ActionController::Base
Tags und Links ruby ruby-on-rails rack render