我已经搜遍了所有人,找不到有同样问题的人。
我正在测试使用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年以上,有数百种规格。
答案 0 :(得分:0)
解决方案是禁用xss_terminate插件。
它已经过时但对我处理各种用户输入类型和角色非常有用。 显然,钩子方式关闭处理字符串的ActiveRecord操作在Ruby 1.9中很有用。