У меня есть несколько дополнительных сценариев, которые я написал вне моего приложения Rails 3.1.x, однако пришло время получать данные из базы данных приложения Rails напрямую, а не использовать некоторые операции экспорта данных.
Для этого я хотел бы интегрировать скрипты в мое приложение rails.До сих пор я запускал задачи rake, основанные на методах в моделях, таких как наличие этого в моем lib/taks/app.rake
:
desc "Does something."
task :do_some_things => :environment do
ModelName.some_method
ModelName.another_method
end
Если бы я по существу поместил свои скрипты в lib, я бы смог вызвать ихс граблями?Или мне нужен вызывающий метод в модели, который будет require lib/my_script.rb
?
Я попытался написать задачу, подобную этой:
task :run_me => :environment do
`bundle exec lib/script.rb`
end
Затем, когда это выполняется, и у меня есть require
внутри этого script.rb (require 'lib/another_script.rb'
) В итоге я получаю ошибки «не могу загрузить такой файл».
Я, очевидно, сейчас подхожу к этому неверно.
Кажетсякак если бы я просто вызывал метод в задаче rake, который затем вызывал бы вспомогательные сценарии в / lib или в другом месте (где бы это ни было наиболее подходящим).