Rails中的弃用警告

时间:2011-09-30 23:10:03

标签: ruby-on-rails

我是Rails和编程的新手(目前正在学习使用3.0.1和ruby 1.9.2的书)。

当我执行rake db:migrate命令时,我收到了以下弃用警告。我不确定这是因为我使用的是较旧版本的Rails,或者无论版本是什么都会发生。无论如何,任何人都可以告诉我,如果我现在应该做什么呢?

由于我是新手,我将非常感谢您的详细解答。干杯

$ rake db:migrate


WARNING: Global access to Rake DSL methods is deprecated.  Please include
    ...  Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method SampleApp::Application#task called at /Users/michaeljohnmitchell/.rvm/gems/ruby-1.9.2-p290@rails3/gems/railties-3.0.1/lib/rails/application.rb:214:in `initialize_tasks'

使用rakefile更新

# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require File.expand_path('../config/application', __FILE__)
require 'rake'

SampleApp::Application.load_tasks

1 个答案:

答案 0 :(得分:2)

假设你使用的是Rake 0.9.x,你有两个选择:

  1. 升级到至少rails 3.0.8(修复了与Rake 0.9.x的集成,如here所述)。这可以通过将您的gem文件更改为gem rails, '3.0.8'(或更高)并运行bundle install来实现。

  2. 您可能会降级到Rake 0.8.x以修复此警告,但我强烈推荐第一个选项。