ruby-on-rails – 带有分类器gem的无效编码符号

当我向Postgres数据库添加项目时,一切似乎都运行正常.在不改变任何内容的情况下,只要我的应用程序中的任何地方启动Madeleine,我的Rails应用就会失败:
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"

我正在使用Madeleine最新的Classifier宝石.

我认为我的快照中有些东西在尝试加载时被破坏了,所以我删除了它,但这并没有解决问题.这是我的倒数第二个快照(现在是最新的快照):

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,但这也没有帮助.

以下是分类器文档的链接,其中提到了如何使用Madeleine:http://classifier.rubyforge.org/

我非常感谢能够深入了解这里发生的事情.谢谢!

解决方法

我有一个问题与rails_admin gem与MysqL适配器,不知道编码,也许你可以检查你的postgres adaptar是否是,如果没有尝试另一个

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...