Как передать аргументы в задачу Граблей со средой в направляющих? [дубликат]

Вы хотите сделать:

i= items.erase(i);

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

210
задан Flip 13 July 2017 в 07:10
поделиться

2 ответа

TL; DR;

task :t, [args] => [deps] 

Исходный ответ

Когда вы передаете аргументы в задачи rake, вы можете запросить среду, используя параметр: needs. Например:


desc "Testing environment and variables"
task :hello, :message, :needs => :environment do |t, args|
  args.with_defaults(:message => "Thanks for logging on")
  puts "Hello #{User.first.name}. #{args.message}"
end

Обновлено в соответствии с комментарием @ Peiniau ниже

Что касается Rails> 3.1

task :t, arg, :needs => [deps] # deprecated

Используйте

task :t, [args] => [deps] 
114
ответ дан 23 November 2019 в 04:35
поделиться

Просто для полноты, здесь пример от DOCS , упомянутых выше:

   task :name, [:first_name, :last_name] => [:pre_name] do |t, args|
     args.with_defaults(:first_name => "John", :last_name => "Dough")
     puts "First name is #{args.first_name}"
     puts "Last  name is #{args.last_name}"
   end

Примечания:

  • Вы можете опустить #with_defaults Call , очевидно.
  • Вы должны использовать массив для ваших аргументов, даже если есть только один.
  • Предпосылки не должны быть массивом .
  • args - это пример Rake :: Taskarguments .
  • T является экземпляром Rake :: Cass .
59
ответ дан 23 November 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: