我有Rails2应用程序,我正在尝试将其升级到Rails3(插件:https://github.com/rails/rails_upgrade)。
一切都很好,直到路线文件升级步骤。当我尝试使用rake rails:upgrade:routes
显示以下错误时:
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake/alt_system.rb:32: Use RbConfig instead of obsolete and deprecated Config.
(in /home/chmarus/Pulpit/mmo)
WARNING: This version of mysql2 (0.3.11) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x
DEPRECATION WARNING: config.action_controller.session= has been deprecated. Please use config.session_store(name, options) instead. (called from <class:Application> at /home/chmarus/Pulpit/mmo/config/application.rb:54)
DEPRECATION WARNING: Rake tasks in /home/chmarus/Pulpit/mmo/vendor/plugins/event_calendar/tasks/event_calendar_tasks.rake are deprecated. Use lib/tasks instead. (called from <top (required)> at /home/chmarus/Pulpit/mmo/Rakefile:7)
rake aborted!
undefined method `now' for nil:NilClass
(See full trace by running task with --trace)
Current Rails ver:2.3.9 目的地版本:3.0.3
什么是狼?我可能错过了什么?也许这是耙错,但我不确定。
编辑:rake rails:upgrade:routes --trace
chmarus@Arti:~/Pulpit/mmo$ rake rails:upgrade:routes --trace
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake/alt_system.rb:32: Use RbConfig instead of obsolete and deprecated Config.
(in /home/chmarus/Pulpit/mmo)
WARNING: This version of mysql2 (0.3.11) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x
DEPRECATION WARNING: config.action_controller.session= has been deprecated. Please use config.session_store(name, options) instead. (called from <class:Application> at /home/chmarus/Pulpit/mmo/config/application.rb:54)
DEPRECATION WARNING: Rake tasks in /home/chmarus/Pulpit/mmo/vendor/plugins/event_calendar/tasks/event_calendar_tasks.rake are deprecated. Use lib/tasks instead. (called from <top (required)> at /home/chmarus/Pulpit/mmo/Rakefile:7)
** Invoke rails:upgrade:routes (first_time)
** Execute rails:upgrade:routes
rake aborted!
undefined method `now' for nil:NilClass
/home/chmarus/Pulpit/mmo/vendor/plugins/rails_upgrade/lib/routes_upgrader.rb:47:in `module_eval'
/home/chmarus/Pulpit/mmo/vendor/plugins/rails_upgrade/lib/routes_upgrader.rb:18:in `draw'
(eval):1:in `upgrade_routes'
/home/chmarus/Pulpit/mmo/vendor/plugins/rails_upgrade/lib/routes_upgrader.rb:47:in `module_eval'
/home/chmarus/Pulpit/mmo/vendor/plugins/rails_upgrade/lib/routes_upgrader.rb:47:in `upgrade_routes'
/home/chmarus/Pulpit/mmo/vendor/plugins/rails_upgrade/lib/routes_upgrader.rb:28:in `generate_new_routes'
/home/chmarus/Pulpit/mmo/vendor/plugins/rails_upgrade/lib/tasks/rails_upgrade_tasks.rake:29:in `block (3 levels) in <top (required)>'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:636:in `block in execute'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:597:in `block in invoke_with_call_chain'
/home/chmarus/.rvm/rubies/ruby-head/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2029:in `block (2 levels) in top_level'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2029:in `block in top_level'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2001:in `block in run'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/home/chmarus/.rvm/gems/ruby-head@rails3/gems/rake-0.8.7/bin/rake:31:in `<top (required)>'
/home/chmarus/.rvm/gems/ruby-head@rails3/bin/rake:19:in `load'
/home/chmarus/.rvm/gems/ruby-head@rails3/bin/rake:19:in `<main>'
答案 0 :(得分:1)
解析routes.rb文件时发生错误。请注意config / routes.rb中的now
关键字。见https://github.com/rails/rails_upgrade/blob/master/lib/routes_upgrader.rb#L38第47行。
如果您没有看到now
的来电或者不知道如何从那里修复它,请编辑问题并发布routes.rb文件,发表评论,我们可以更加接近看。