我是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
答案 0 :(得分:2)
假设你使用的是Rake 0.9.x,你有两个选择:
升级到至少rails 3.0.8(修复了与Rake 0.9.x的集成,如here所述)。这可以通过将您的gem文件更改为gem rails, '3.0.8'
(或更高)并运行bundle install
来实现。
您可能会降级到Rake 0.8.x以修复此警告,但我强烈推荐第一个选项。