Hey Jungs, Ich versuche, die Rack-Middleware NotFound arbeiten mit rails3 zu machen, aber ich brauchte einige Änderungen vornehmen einige json zurückzukehren, so dass ich im Grunde definiert eine neue Klasse:Wie verwende ich Rack Middleware mit Rails3?
class NotFound
def initialize(app, msg, content_type = "text/html")
@app = app
@content = msg
@length = msg.size.to_s
@content_type = content_type
end
def call(env)
[404, {'Content-Type' => @content_type, 'Content-Length' => @length}, @content]
end
end
ich diese hinzugefügt Klasse oben auf „app/Middleware/not_found.rb“ und diese Zeile unter meiner application.rb Datei hinzufügen:
config.middleware.use "NotFound", {:error => "Endpoint Not Found"}.to_json, "application/json"
und jetzt ... na ja, es funktioniert wie ich erwartet hatte ... es immer wieder zurückkehren
Nun, wie kann ich es nur funktionieren, wenn der Router ausfällt? Ich habe gesehen, dass es eine insert_after-Methode gibt, kann aber nicht passieren, nach Application.routes
PS: Ich weiß, ich könnte damit umgehen mit dem Rails3-Router, aber es ist ein Experiment, ich habe nur ein bisschen Spaß :-)
Danke!
warum nicht stattdessen System der Schienen stattdessen verwenden. Es ist komplizierter für kleine Dinge. – shingara
sollten Sie die ganze Frage lesen, ich meine bis zum Ende ... "PS: Ich weiß, ich könnte damit umgehen mit dem Rails3 Router, aber es ist ein Experiment, ich habe nur Spaß" – Mike