Вы должны указать, что ваша задача Rake требует загрузки среды:
task :your_task => :environment do |t| ...
или
task :your_task => [:environment] do |t| ...
или
task :your_task, :param1, :param2, :needs => :environment do |t, args| ...
или
task :your_task, :param1, :param2, :needs => [:environment] do |t, args| ...
Если вы указали это, значит, есть другая проблема. Я думаю, что один общий источник ошибок связан с тем, что плагины загружаются в пространство имен с именем Rails::Plugin
. Таким образом, если вы определили класс с именем Foo
в своем плагине, тогда задача Rake должна ссылаться на него как Rails::Plugin::Foo
вместо простого Foo
.
Если это не решит вашу проблему, попробуйте добавить puts "Check"
в первую строку файла init.rb
плагина и убедитесь, что при запуске задачи rake отображается Check
. Если это так, то ваш плагин загружается, но, возможно, после этого он молча перестает работать.
И последнее: может быть, вы пытаетесь использовать плагин вне задачи, например, в начале вашего файла Rake, в некотором коде инициализации? Если это так, то произойдет сбой, поскольку плагины загружаются только при выполнении задачи (при загрузке среды).
Надеюсь, это поможет.