предупреждение об устаревании в Rails

#ruby-on-rails

#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. Не могли бы вы, пожалуйста, показать свой rakefile?

2. Я обновил OP своим файлом rake. Спасибо, что посмотрели на это.

Ответ №1:

Предполагая, что вы используете Rake 0.9.x, у вас есть два варианта:

  1. Обновитесь как минимум до rails 3.0.8 (который исправляет интеграцию с Rake 0.9.x, как указано здесь ). Это может быть достигнуто путем изменения вашего файла gem на gem rails, '3.0.8' (или выше) и запуска bundle install .

  2. Вероятно, вы могли бы понизить рейтинг до Rake 0.8.x, чтобы исправить это предупреждение, но я настоятельно рекомендую первый вариант.

Комментарии:

1. хорошо, спасибо, я использую rails 3.0.1 только для того, чтобы следовать этой книге. Я обновлюсь позже