Tengo una acción que sirve mi página de inicio. Funciona bien cuando es visitada normalmente (es decir, por un usuario en un navegador web), pero cuando es visitada por los rastreadores web específicos, que arroja el siguiente error:ActionView :: Error de MissingTemplate, ¿solo cuando lo visita un Bot?
A ActionView::MissingTemplate occurred in tags#promoted:
Missing template tags/promoted with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>["text/*"], :locale=>[:en, :en]} in view paths "/Apps/accounts/app/views", "/usr/local/rvm/gems/[email protected]/gems/devise-1.3.0/app/views"
actionpack (3.0.4) lib/action_view/paths.rb:15:in `find'
Parece que los robots están tratando de buscar el formato de text/*
, la cual no hay plantilla para, lo cual tiene sentido, por lo que trató de hacer lo siguiente en mi acción:
def promoted
request.format = :html #force html to avoid causing missing template errors
# more action stuff....
end
en esencia, estoy tratando de forzar el formato de la solicitud a html por lo que sirve la plantilla hTML.
Sin embargo, cada vez que estos bots solicitan esta página, se produce el error de plantilla faltante.
No es gran cosa, pero idealmente me gustaría resolver este error, solo para que deje de recibir estos correos de error de mi aplicación.
¿Es la única manera de hacer un archivo llamado my_action.text.erb
y poner un poco de galimatías en él? ¿O puedo resolver esto más elegantemente?
¿Se puede publicar su código de controlador y específicamente la acción 'index'? Esto debería ser fácil de desentrañar en un minuto, para resolver el piloto automático de la publicación en formato de Rail. – nessur