2010-12-18 3 views
0

現在のところ、私は作成アクションの中で物事を起こすオブジェクトを作成する手作業によるフォーム提出方法を持っています。コントローラを参照して変数を渡すことで、レールでcronに新しいオブジェクトを作成する方法はありますか?

私はこのフォームをこのようにアクセスします。

http://localhost:3000/contact_faxes/new?contact=1&fax=7&status=done

これは、フォームに私を取り、createアクションで何かを実行します。ご覧のとおり、私はパラメータを取って変更し、フォーム提出のように渡します。

しかし、私はこの同じプロセスをcronジョブで有効にしたいと考えています。

1つの方法は、すべてのコードをcronジョブに戻し、新しい/作成するメソッドを使用せずに、すべてのコードを元に戻す方法でした。

cronジョブを使用して既存の方法をどのように活用できますか?ここで

は新しいものとメソッドを作成します。

https://gist.github.com/746686

答えて

0

は、私は、コントローラから出て、モデルまたは別のワークフローオブジェクトのいずれかにそのコードのすべてを移動します。あなたのContactFaxオブジェクトで

、ような何かを作成します。

ContactFax < ActiveRecord::Base 

    after_create :send_fax 

    def send_fax 
    pdf = Prawn::Document.new 
    ... 
    OutboundMailer.deliver_fax_email #etc 
    end 
end 

そのように、あなたのcronジョブでは、あなたが今、あなたの邪魔になっているもので、あなたのコントローラ、なしのオブジェクトにアクセスすることができます。

+0

どうすればcronで作成できますか?手動で行うかどうかです(例:c = ContactFax.newなど)。すべてのコードで値を割り当てますか? – Angela

+0

次に、script/runnerを使ってコードを実行する方法の例を示します。次に、その完全な実行パスをcronジョブに入れます。 http://www.ameravant.com/posts/recurring-tasks-in-ruby-on-rails-using-runner-and-cron-jobs –

+0

うーん...その例は私がcronを使う方法とは異なります。 Cronはlib/tasks/cron.rakeファイルを実行します....私はそのスクリプト/ runner app/script.rbに入れますか? – Angela

関連する問題