如何从Ruby 1.8.7升级到Ruby 1.9.2 for Rails 2.3.8 app?

时间:2011-09-29 20:58:57

标签: ruby-on-rails activerecord ruby-1.9.2

我已经搜遍了所有人,找不到有同样问题的人。

我正在测试使用rvm和nginx + passenger(目前在1.8.7生产中运行)使用Ruby 1.9.2升级运行Rails 2.3.8的大型Rails应用程序。

我正在使用mysql2 gem,我的数据库使用UTF-8编码。 当我登录到应用程序(标准restful-auth)时,db查找找到匹配但是当控制器尝试在User模型上保存属性更改时,它会从validates_length_of引发验证错误。

我向ActiveRecord添加了一些调试输出,看起来它认为我的所有数据库记录的字符串值都是空的(在日志中显示为“[]”...)

我在脚本/控制台中看到了相同的行为:User.first.login => “[]”,但在切换到mysql2 gem(并更新database.yml适配器值)后修复了。

为什么控制台会工作但不能通过网站? ActionController / ActiveSupport bug ??

澄清:这是一款稳定的应用程序,在1.8.7中已经存在1年以上,有数百种规格。

1 个答案:

答案 0 :(得分:0)

解决方案是禁用xss_terminate插件。

它已经过时但对我处理各种用户输入类型和角色非常有用。 显然,钩子方式关闭处理字符串的ActiveRecord操作在Ruby 1.9中很有用。