/ / nedefinovaná metóda `cattr_accessor 'pre RailsUpgrade :: Upgraders :: RouteRedrawer: Trieda - rubínové na koľajniciach, rubínovo-na-koľajniciach-3

nedefinovaná metóda `cattr_accessor 'pre RailsUpgrade :: Upgraders :: RouteRedrawer: Trieda - rubín na koľajniciach, rubín na koľajniciach-3

Aktualizoval som Rails 2 na Rails 3. Potom som nainštaloval rails-upgrade 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...

A potom som bežal check, ale vyvoláva túto chybu:

$ 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

Čo je zlé a ako to môžem vyriešiť?

Nainštaloval som si Rails 3 a všetky potrebné závislosti:

$ 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)

Ak potrebujete viac informácií, opýtajte sa ma.

odpovede:

0 pre odpoveď č. 1

Nemyslím si, že tento klenot bol aktualizovaný tak, aby bol kompatibilný s Rails 3. Jedinou alternatívou je chytiť si kópiu Rails 3 Upgrade Handbook a pomocou toho prejsť procesom inovácie.

Napísal som blogový príspevok o aktualizácii aplikácie Rails 2 na Rails 3 tu: http://ryanbigg.com/2010/11/the-rails-3-upgrade/.