2017-01-25 50 views
0

Я хочу создать очень простую задачу рейка. Из одной основной задачи я хочу вызвать все подзадачи. Я попробовал этот код:Вызов простой задачи рейка из родительской задачи

namespace :my_namespace do 

    task create_all_users: :environment do 
    puts "Creating all users" 

    create_admin 
    create_user 

    end 

    task create_admin: :environment do 
    puts "Creating admin user" 
    ###### 
    end 

    task create_user: :environment do 
    puts "Creating user" 
    ###### 
    end 

end 

Но я получаю сообщение об ошибке:

NameError: undefined local variable or method `create_admin' for main:Object 

Что такое правильный способ вызова задачи?

ответ

0

поместите задачу по умолчанию вне пространства имен, как описано here. или использовать фактические методы, как было предложено @ tthomas7 referred answer

с вариантом 1 ваш код будет выглядеть так:

namespace :my_namespace do 

    task create_admin: :environment do 
    puts "Creating admin user" 
    ###### 
    end 

    task create_user: :environment do 
    puts "Creating user" 
    ###### 
    end 

end 

task create_all_users: :environment do 
    puts "Creating all users" 

    Rake::Task["my_namespace:create_admin"].invoke 
    Rake::Task["my_namespace:create_user"].invoke 

end 

 Смежные вопросы

  • Нет связанных вопросов^_^