A partir de Rails 3.0, de vez en cuando, he estado recibiendo una notificación de excepción de esta manera:suprime ActionView :: excepción MissingTemplate de rieles 3.x
ActionView::MissingTemplate: Missing template [...] with {:locale=>[:en],
:formats=>[:text], :handlers=>[:erb, :builder, :haml]}. Searched in: * [...]
Por ejemplo, un escrito a mano arbitraria URL como http://example.com/some/path/robots.txt provoca el error. No es divertido.
Informé del problema en este ticket hace bastante tiempo, y he estado usando el parche mencionado aquí, pero el problema persiste.
Una solución que se sugiere en esta entrada del blog,
http://trevorturk.wordpress.com/2011/12/09/handling-actionviewmissingtemplate-exceptions/
Para utilizar esta:
Pero no se siente bien para mí, como yo No estoy interesado en sobrecargar una acción con múltiples formatos. En mi aplicación, hay URL separadas para HTML y JSON API, por lo que el simple render
debería ser suficiente.
¿Debo simplemente tragar la excepción por rescue_from ActionView::MissingTemplate
y devolver 406 yo?
¿Hay una mejor manera de manejar esta situación?
O puedo preguntar de esta manera: en primer lugar, ¿hay alguna utilidad en el mundo real para plantear este tipo de excepción en la producción?
Gracias. Mi conclusión en este punto es que la mayor parte del problema es con ': format'. ¿Hay alguna forma de desactivar ': format' por completo? No quiero agregar ': format => false' a cada definición. – kenn