Postgresデータベースにアイテムを追加すると、すべてがうまくいきました。それは私のアプリで任意の場所にマドレーヌを開始したときに何も変更せずに、私のRailsアプリは失敗しました:分類コードgemの無効なエンコーディングシンボル
EncodingError in EventsController#update
invalid encoding symbol
app/controllers/events_controller.rb:137:in `update'
137は、問題のあるラインです:
135 def update
136 @event = Event.find(params[:id])
137 m = SnapshotMadeleine.new("bayes_data")
....
end
私も、コンソールで物事を分類することができますよこれは私が混乱を引き起こす原因の一部です。コンソールでこれはうまく動作します:
m = SnapshotMadeleine.new("bayes_data") {}
=> #<Madeleine::DefaultSnapshotMadeleine:0x000...
m.system
=> #<Classifier::Bayes:0x000...
m.system.classify "test"
私は最新のクラシファイアの宝石をマドレーヌで使用しています。
ロードしようとしたスナップショットで何かが壊れているとわかりましたので、削除しましたが問題は解決しませんでした。ここに私の最後から2番目のスナップショット(現在最新のもの)があります:
a = File.read('bayes_data/000000000000000000041.snapshot')
a.encoding
=> #<Encoding:UTF-8>
a.valid_encoding?
=> true
ここで何が起こっているのかわかりません。 Ruby 1.9.3-p125の人達も同様の問題を抱えていたので、私は最新の安定版1.9.3-p194にアップグレードしましたが、それは役に立たなかった。私は本当にここで何が起こっているかに任意の洞察力をいただければと思いますhttp://classifier.rubyforge.org/
:
はここでもマドレーヌを使用する方法を述べて分類子のドキュメントへのリンクです。ありがとう!
これを解決しましたか?私は同じ問題を発見しています! – joshs
決してしなかった。私は時間のためにその特徴を放棄した。別の安定した宝石を見つけることをお勧めします。 – airlok
クラシファイアに入力する前に文字列を消去する必要があります。たとえば、アクセント付き文字を音訳する –