Эй, ребята, я пытаюсь настроить промежуточное ПО для стойки NotFound для работы с rails3, но мне нужно было внести некоторые изменения, чтобы вернуть json, поэтому я определил новый класс:
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
Я добавил этот класс выше в "app / middleware / not_found.rb" и добавил следующую строку в мой файл application.rb:
config.middleware.use "NotFound", {:error => "Endpoint Not Found"}.to_json, "application/json"
и теперь ... ну, он работаеткак я и ожидал ... он всегда возвращает
{"error"=>"Endpoint Not Found"}
Теперь, как я могу заставить его работать только в случае сбоя маршрутизатора?Я видел, что есть метод insert_after, но не могу его реализовать после Application.routes
ps: я знаю, что смогу справиться с этим с помощью маршрутизатора rails3, но это эксперимент, я просто развлекаюсь:-)
Спасибо!