2011-01-28 22 views
47

Komisyon görevimi konsoldan çağırmak istiyorum. Yapılabilir mi? eğer evet, nasıl yapılır? Komisyondan görevler nasıl çalıştırılır?

Konsolun üzerinde bu çalıştı:

require 'rake' 
Rake::Task['my_task'].invoke 

ama bana bu hata vermek: Bu tırmık gibi görev bulunamadı edemez oluyor

RuntimeError: Don't know how to build task 

. Herhangi bir yardım için teşekkür ederiz.

size

Edit ederiz: Ben irb dan% x [komutu] çalıştırmaktır yapmak raylar 2.3.5

cevap

111

iki adım gerektirir.

Normalde bu Rakefile yapılır, ancak manuel burada yapmak zorunda: (. Eğer Raylar uygulama adıyla MyRailsApp yerine emin olun)

require 'rake' 
MyRailsApp::Application.load_tasks # <-- MISSING LINE 
Rake::Task['my_task'].invoke 

+0

Bu benim sorunumu çözdü. Teşekkür ederim!! Sen 'diyerek .invoke' arasındaki farkı hatırlamak isteyebilirsiniz –

+2

http://stackoverflow.com/questions/577944/how-to-run-rake-tasks-from-within-rake-tasks danışın '(örneğin başlatmak için çok uzun sürüyor Uygulama ile veri aklı denetleyicisi gibi) görev defalarca çalıştırmak gerekiyorsa .execute', o zaman isteyeceksiniz' görevi .execute'. –

+4

fazla seçenek için –

13

kolay yolu kullanıyorum. Olmak istediğin şeyden emin değilim.

%x[rake db:migrate] 

DÜZENLEME: ederim Daniel kabul cevap söylediği gibi .invoke kullanmak önerilir.

  1. Yükleme Rake
  2. Yükleme sizin Rake görevleri

Sen ikinci adımı eksik: Rake görevleri Koşu

+0

sorundur, tırmık doesn Görevimi tanımak gibi gözüküyor. herhangi bir fikrin neden? – Fajarmf

+0

Bana Rakefile gösterebilir misin? – garno

+0

mükemmel çalışıyor @garno! üzgünüm, bir yıl oldu ve aniden aynı ihtiyaca koşuyorum. – Fajarmf