Proyecto

General

Perfil

Errores #2845

Error usando open_uri desde la aplicación

Añadido por Santiago Ramos hace alrededor de 7 años. Actualizado hace alrededor de 7 años.

Estado:
Resuelta
Prioridad:
Normal
Asignado a:
Categoría:
Desarrollo
Versión prevista:
Fecha de inicio:
2017-03-16
Fecha fin:
% Realizado:

100%

Tiempo estimado:
3.00 h

Descripción

Si tratamos de abrir una URL remota para su lectura se produce un error:

$ rails console

Loading development environment (Rails 3.2.22.5)
1.9.3-p551 :001 > open 'http://google.es/'
Errno::ENOENT: No such file or directory - http://google.es/

Esto sucede a pesar de que por defecto ya está cargada la librería "open_uri".

Si hacemos la misma prueba desde irb el error no aparece:

$ irb

1.9.3-p551 :002 > require 'open-uri'
 => true 
1.9.3-p551 :003 > open 'http://google.es/'
 => #<File:/tmp/open-uri20170316-20684-dhhrkj> 

Histórico

#1 Actualizado por Santiago Ramos hace alrededor de 7 años

El problema se origina en la sobrecarga que hacemos de "upcase" para soportar caracteres multibyte:

# config/initializers/overload_string_class.rb 
String.class_eval do
  def upcase
    strip.mb_chars.upcase
  end
end

Hay que ver como hacer para que la sobrecarga aplique solo si hay caracteres multibyte y si no se puede, modificar en todo el codigo de la app los upcase para que tenga en cuenta los multibyte.

#2 Actualizado por Santiago Ramos hace alrededor de 7 años

  • Estado cambiado Nueva por Resuelta
  • % Realizado cambiado 0 por 100

Resuelto en commit r8181

Exportar a: Atom PDF

Financiado por:

Desarrollado por:
Software libre forjado en: