Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未定义的方法'cattr_accessor';对于RailsUpgrade::Upgrades::RouteRedrawer:类_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 未定义的方法'cattr_accessor';对于RailsUpgrade::Upgrades::RouteRedrawer:类

Ruby on rails 未定义的方法'cattr_accessor';对于RailsUpgrade::Upgrades::RouteRedrawer:类,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在将Rails2应用程序升级到Rails3。 然后我安装了rails升级gem: $ gem install rails-upgrade --user-install Fetching: rails-upgrade-0.0.2.gem (100%) PostInstall.txt Successfully installed rails-upgrade-0.0.2 1 gem installed Installing ri documentation for rails-upgrade-0.

我正在将Rails2应用程序升级到Rails3。 然后我安装了
rails升级
gem:

$ gem install rails-upgrade --user-install
Fetching: rails-upgrade-0.0.2.gem (100%)
PostInstall.txt
Successfully installed rails-upgrade-0.0.2
1 gem installed
Installing ri documentation for rails-upgrade-0.0.2...
Installing RDoc documentation for rails-upgrade-0.0.2...
然后我运行了
检查
,但它引发了以下错误:

$ rails-upgrade check
/home/neoriddle/.gem/ruby/1.8/gems/rails-upgrade-0.0.2/lib/rails-upgrade/upgraders/routes.rb:28: undefined method `cattr_accessor' for RailsUpgrade::Upgraders::RouteRedrawer:Class (NoMethodError)
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `gem_original_require'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `require'
    from /home/neoriddle/.gem/ruby/1.8/gems/rails-upgrade-0.0.2/lib/rails-upgrade.rb:12
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `gem_original_require'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:55:in `require'
    from /home/neoriddle/.gem/ruby/1.8/gems/rails-upgrade-0.0.2/bin/rails-upgrade:7
    from /home/neoriddle/.gem/ruby/1.8/bin/rails-upgrade:19:in `load'
    from /home/neoriddle/.gem/ruby/1.8/bin/rails-upgrade:19
出了什么问题,我如何解决

我已经安装了Rails 3和所有必需的依赖项:

$ rails -v
Rails 3.0.9
$ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]
$ gem list active

*** LOCAL GEMS ***

active_scaffold_vho (3.0.20)
activemerchant (1.15.0, 1.14.0)
activemodel (3.0.9, 3.0.7, 3.0.5, 3.0.3)
activerecord (3.0.9, 3.0.7, 3.0.3, 2.3.11, 2.3.5, 2.2.3, 2.1.2, 2.1.1, 2.0.5, 1.15.3)
activeresource (3.0.9, 3.0.7, 3.0.3, 2.3.11, 2.3.5, 2.2.3, 2.1.2, 2.1.1)
activesupport (3.0.9, 3.0.7, 3.0.5, 3.0.3, 2.3.11, 2.3.5, 2.2.3, 2.1.2, 2.1.1, 2.0.5, 1.4.2)
$ gem list action

*** LOCAL GEMS ***

actionmailer (3.0.9, 3.0.7, 3.0.3, 2.3.11, 2.3.5, 2.2.3, 2.1.2, 2.1.1, 1.3.3)
actionpack (3.0.9, 3.0.7, 3.0.3, 2.3.11, 2.3.5, 2.2.3, 2.1.2, 2.1.1, 1.13.3)
actionwebservice (1.2.6, 1.2.3)

如果您需要更多信息,请询问我。

我认为此gem尚未更新为与Rails 3兼容。唯一的另一种选择是为自己获取一份,并使用它完成升级过程


我在这里写了一篇关于将Rails 2应用程序升级到Rails 3的博文:。

这并不容易,我还不能得到一个完整的解决方案。