Ответ 1
Используйте rails runner
$ rails -h
Usage: rails COMMAND [ARGS]
...
runner Run a piece of code in the application environment
All commands can be run with -h for more information.
У меня есть 2 задания, которые я бы хотел запустить, и они зависят от моделей в моем приложении rails. Я добавил рубиновые файлы в отдельную папку под названием "Джобс", которую я добавил в проект рельса.
Всякий раз, когда я пытаюсь запустить их с помощью команды ruby, я получаю следующую ошибку:
неинициализированная константа Обратная связь (NameError).
Обратная связь здесь - модель, которую я использую в своем приложении rails.
Мои вопросы: потому что работа, которую я использую, на самом деле совместима с командой script/runner rails 2, есть ли альтернатива Rails 3? Если нет, то как я могу писать программы ruby, которые зависят от моделей, которые у меня есть в приложении rails, без получения ошибки, о которой я упоминал выше.
Используйте rails runner
$ rails -h
Usage: rails COMMAND [ARGS]
...
runner Run a piece of code in the application environment
All commands can be run with -h for more information.
"Rails 3 way" для этого - с помощью Rake, используя предварительное условие :environment
, которое загружает среду Rails. Например:
task :name => :environment do |t|
# actions
end
В блоке вы можете загружать и выполнять свои задания.
Если вы еще не писали сценарии Rake, вот хороший учебник. Это довольно легко.