#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, у вас есть два варианта:
-
Обновитесь как минимум до rails 3.0.8 (который исправляет интеграцию с Rake 0.9.x, как указано здесь ). Это может быть достигнуто путем изменения вашего файла gem на
gem rails, '3.0.8'
(или выше) и запускаbundle install
. -
Вероятно, вы могли бы понизить рейтинг до Rake 0.8.x, чтобы исправить это предупреждение, но я настоятельно рекомендую первый вариант.
Комментарии:
1. хорошо, спасибо, я использую rails 3.0.1 только для того, чтобы следовать этой книге. Я обновлюсь позже