Hé les gars, Je suis en train de faire le middleware rack NotFound pour travailler avec rails3 mais je devais faire quelques changements pour revenir un peu JSON, donc je essentiellement défini une nouvelle classe:Comment utiliser le middleware rack avec 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
J'ai ajouté ce classe ci-dessus pour « app/middleware/not_found.rb » et ajoutez cette ligne ci-dessous à mon dossier application.rb:
config.middleware.use "NotFound", {:error => "Endpoint Not Found"}.to_json, "application/json"
et maintenant ... eh bien, cela fonctionne comme je m'y attendais ... il retourne toujours
{"error"=>"Endpoint Not Found"}
Maintenant, comment puis-je le faire fonctionner uniquement si le routeur tombe en panne? J'ai vu qu'il y a une méthode insert_after mais ne peut pas y arriver après Application.routes
ps: Je sais que je pourrais le gérer avec le routeur rails3, mais c'est une expérience, je vais juste m'amuser :-)
Merci!
pourquoi ne pas utiliser le système de rails à la place. C'est plus compliqué pour les petites choses. – shingara
vous devriez lire toute la question, je veux dire jusqu'à la fin ... "ps: Je sais que je pourrais le gérer avec le routeur rails3, mais c'est une expérience, je suis juste s'amuser" – Mike