Todo parecía funcionar bien ya que agregué elementos a mi base de datos de Postgres. Sin cambiar nada, mi aplicación Rails comenzó su defecto cada vez que comenzó a Madeleine en cualquier parte de mi aplicación:Símbolo de codificación no válido con la gema Classifier
EncodingError in EventsController#update
invalid encoding symbol
app/controllers/events_controller.rb:137:in `update'
137 es la línea problema:
135 def update
136 @event = Event.find(params[:id])
137 m = SnapshotMadeleine.new("bayes_data")
....
end
soy capaz de clasificar las cosas en la consola, aunque , que es parte de lo que me está causando confusión. En la consola, esto funciona bien:
m = SnapshotMadeleine.new("bayes_data") {}
=> #<Madeleine::DefaultSnapshotMadeleine:0x000...
m.system
=> #<Classifier::Bayes:0x000...
m.system.classify "test"
Estoy usando la última joya Classifier con Madeleine.
Me imaginé que algo estaba dañado en mi instantánea que intentó cargar, así que lo eliminé, pero eso no resolvió el problema. Aquí está mi segundo a última instantánea (ahora el más reciente):
a = File.read('bayes_data/000000000000000000041.snapshot')
a.encoding
=> #<Encoding:UTF-8>
a.valid_encoding?
=> true
No está seguro de lo que está pasando aquí. Vi que algunas personas con Ruby 1.9.3-p125 tenían problemas similares, así que me actualicé a la última versión estable, 1.9.3-p194, pero tampoco me ayudó.
Aquí hay un enlace a la documentación de clasificador, que menciona cómo utilizar Madeleine así: http://classifier.rubyforge.org/
me lo agradecería cualquier información sobre lo que está pasando aquí. ¡Gracias!
¿Alguna vez resolvió esto? ¡Estoy encontrando el mismo problema! – joshs
Nunca lo hizo. Terminé abandonando la función por el tiempo. Recomiendo encontrar otra joya más estable. – airlok
debe limpiar su cadena antes de alimentarla al clasificador, por ejemplo, transcribir los caracteres acentuados –