Script/бегун в рельсах 3

У меня есть 2 задания, которые я бы хотел запустить, и они зависят от моделей в моем приложении rails. Я добавил рубиновые файлы в отдельную папку под названием "Джобс", которую я добавил в проект рельса.

Всякий раз, когда я пытаюсь запустить их с помощью команды ruby, я получаю следующую ошибку:

неинициализированная константа Обратная связь (NameError).

Обратная связь здесь - модель, которую я использую в своем приложении rails.

Мои вопросы: потому что работа, которую я использую, на самом деле совместима с командой script/runner rails 2, есть ли альтернатива Rails 3? Если нет, то как я могу писать программы ruby, которые зависят от моделей, которые у меня есть в приложении rails, без получения ошибки, о которой я упоминал выше.

Ответы

Ответ 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 3 way" для этого - с помощью Rake, используя предварительное условие :environment, которое загружает среду Rails. Например:

task :name => :environment do |t|
  # actions
end

В блоке вы можете загружать и выполнять свои задания.

Если вы еще не писали сценарии Rake, вот хороший учебник. Это довольно легко.