2015-01-30 6 views
0

Так у меня есть следующая задача в рельсах, работающих на JRuby:Почему он не знает, как построить эту задачу?

desc "Creates a new site with args: name, api_url (must be http(s)://api.something.com/v1/ - note the ending slash), api_key" 
task :add_new_site, [:name, :api_url, :api_key] => :enviroment do | t, args | 
    if !Site.find_by_site_name(args[:name]) 
    new_site = Site.new(site_name: args[:name], site_api_url: args[:api_url], site_api_key: args[:api_key]) 
    if new_site.save! 
     puts "Created new Site: " + args[:name] 
    end 
    else 
    puts "This site already exists." 
    end 
end 

Когда я запускаю его как таковой:

$ bin/rake add_new_site['sample', 'sample.com', 'addasdsd'] 
rake aborted! 
Don't know how to build task 'add_new_site[sample,' 

Вы можете увидеть ошибку.

Что я делаю неправильно, чтобы получить это? У меня есть другие задачи, которые принимают один аргумент, и они, похоже, работают нормально.

Примечание: да это в .rake, а не .rb файл

Update One:

Вы можете видеть из ниже из положить, что я видел, что требуется от этой задачи, и я попробовал, и все еще не удалось:

$ bin/rake -T add_new_site ['sample', 'sample.com', 'addasdsd'] 
rake add_new_site[name,api_url,api_key] # Creates a new site with args: name, api_url (must be http(s)://api.something.com/v1/ - note the ending slash), api_key 

$ bin/rake add_new_site['sample','sample.com','addasdsd'] 
rake aborted! 
Don't know how to build task 'enviroment' 

Tasks: TOP => add_new_site 
(See full trace by running task with --trace) 

У меня, кажется, другая ошибка?

+0

нет, потому что если вы сделаете это, то он бежит добавить, образец и sample.com как три отдельные грабли. – TheWebs

+0

вы абсолютно правы, извините за то, что потратили время, я удалю свой комментарий :) – Felix

+0

вы можете дать (соответствующий) вывод 'bin/rake -T'? – xlembouras

ответ

2

У вас есть опечатка: enviroment вместо environment

Вот почему вы получаете эту ошибку:

rake aborted! 
Don't know how to build task 'enviroment'