Ruby 1.8.7兼容性

时间:2010-01-05 08:17:26

标签: ruby activerecord

当我在Snow Leopard上切换到Ruby 1.8.7时出现异常

ArgumentError: wrong number of arguments (1 for 0)
    /Library/Ruby/Gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/abstract/quoting.rb:27:in 'to_s'
    /Library/Ruby/Gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/abstract/quoting.rb:27:in 'quote'
    /Library/Ruby/Gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/mysql_adapter.rb:190:in 'quote'
    /Library/Ruby/Gems/1.8/gems/activerecord-1.15.5/lib/active_record/base.rb:2042:in 'quote_value'
    /Library/Ruby/Gems/1.8/gems/activerecord-1.15.5/lib/active_record/base.rb:2034:in 'attributes_with_quotes'

应用程序使用Rails 1.2.5:在这个应用程序中没有机会更新rails。有人有解决方案吗?

2 个答案:

答案 0 :(得分:2)

这种旧版本的rails和ruby 1.8.7会出现很多兼容性问题。我建议使用rvm安装多个ruby版本/ rails版本来测试你的应用程序。我也会研究安全补丁,因为我不确定它们是否会被移植到1.2.x分支机构。

答案 1 :(得分:1)

我把它放在config / initializers中的文件中

class :: DateTime

alias_method:to_s,:to_formatted_s