2012-02-24 16 views
3

私はruby cgi.rbスクリプトをRuby on Railsアプリケーションのhttp://pine.fm/LearnToProgram/?ShowTutorialCode=trueと正確に同じように実行しようとしています:http://pine.fm/LearnToProgram/と同じ結果を得るには、Rails Webアプリケーションの中にあります。Ruby on RailsでCGI Rubyスクリプトを実行するには?

どうすればいいですか?

+0

私はcgiの代わりにラックに行くでしょう – farnoy

+0

私も、それはレガシー要件です。 – Darme

+0

CGIスクリプトは静かで安全でないとみなされ、使用には推奨されません。(http://www.w3.org/Security/faq/wwwsf4.html) –

答えて

0

(テストしていません)私はわからないが、このようなものは適切な解決策のようになります。

match '/that.cgi' => proc { |app| Rack::Handler::CGI.run app } 

Railsはラックを使用しているので、それはそれはルータでのアプリケーションの取り付けをサポートしています。しかし、私はRack::Handler::CGIの使用についてはわかりませんが、それは非常に文書化されていません。

+0

申し訳ありませんが動作しません。 cgi.rbファイルを実行するのではなく、ダウンロードすることができます。たぶん私はそれを公共のものではなくbinディレクトリに置くべきですが、次に、ファイルが一致するルートのためにどこで実行されるべきかをRackに伝えることができますか? – Darme

+0

申し訳ありませんが、正直なところ、cgiをレールで使用した例はわかりません。 'Rack :: Handler :: CGI'(メソッドのみなど)のドキュメントはなく、' lambda {| env | [200、 "Content-Type:text"、 "test"]} '、これだけ;( – farnoy

+0

どうもありがとうございます! – Darme