이 질문에는 이미 답변이 있습니다.
나는 도움이 필요해 :( 음, 갈퀴 작업에 1 개의 매개 변수를 전달해야합니다. 그리고 100 % 확신 할 수는 없지만 많은 일을 시도했지만 아무 것도 실제로 작동하지 않습니다. 그것은 다음과 같습니다.
{ task :export, [:arg1] => :environment do
puts "Exporting..."
Importer.export_to_csv([:arg1]).to_i
puts "done."
end }
그런 다음 'export_to_csv'메소드를 사용하여 arg를 얻습니다. 내 터미널에서 뛰었을 때 : 'rake export 1'또는 'rake export [1]' 나는 계속해서 동일한 오류 응답을 얻는다. '레이크가 중단 됐어! NoMethodError : 정의되지 않은 메소드 'id'for nil : NilClass '
이것은 의미입니다. 그는이 입력을 인식하지 못했습니다. 당신들 앞두고 감사합니다,
[:arg1]
반드시 있어야한다.args[:arg1]
(또는 블록 인수로 사용하는 이름). 코드는 다음과 같습니다.
task :export, [:arg1] => :environment do |t, args|
puts "Exporting..."
Importer.export_to_csv(args[:arg1])
puts "done."
end
용법:
rake export[foo1]
이것을 시도하고, 또한 다음 URL을 살펴보십시오.인수를 레이크 태스크에 전달하는 4 가지 방법
task :export, [:arg1] => :environment do |t, args|
puts "Exporting..."
Importer.export_to_csv(args[:arg1].to_i)
puts "done."
end
그것을 사용하여 실행
rake add\[1\]
#OR
rake 'export[1]'
|t, args|
블록 매개 변수. - Simone Carletti