Ruby で作成したスクリプトを Rails アプリケーションで実行する必要があります。私は少し迷っていますが、私はコントローラーを持っており、GET /service /:id を介してこのスクリプトの結果を返したいと思っています。これどうやってするの?
質問する
3545 次
2 に答える
4
コメントによると、これをコントローラーから呼び出せるメソッドにしたいようです。
単純。
呼び出し元のコントローラー (またはメソッドを定義する任意のモデル) に対応するモデルでメソッドを定義し、コントローラーから呼び出します。
ScriptRunner モデルがあり、これをコントローラーの show アクションから呼び出したいとします。
ScriptRunner モデルでは、単純に次のようにします。
def runscript(id)
...
end
そしてあなたのコントローラーで、
def show
ScriptRunner.runscript(params[:id])
@service = Service.find_by_id(params[:id])
end
..またはあなたがやりたいことは何でも。
于 2012-05-06T17:30:07.933 に答える
2
Sergio Tulentsev のアプローチは正しいです。それからモデル クラスを作成し、コントローラーからモデル メソッドを呼び出すだけです。
または、どちらが間違っていてハッキーなのか、コントローラーから直接ルビースクリプトを呼び出すことができます
def get
@results = system "ruby your_ruby_script.rb"
end
于 2012-05-06T17:21:13.507 に答える