2012-02-24 110 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 2012-02-24 17:43:36

+0

我去得,但它是一個傳統的要求。 – Darme 2012-02-24 18:07:48

+0

需要注意的是CGI腳本[被認爲是不安全的安靜和不推薦使用(http://www.w3.org/Security/faq/wwwsf4.html) – 2012-04-03 19:38:35

回答

0

我不知道,但這樣的事情應該是一個適當的解決方案(未測試):

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

由於Rails使用機架,它支持安裝它在路由器的應用。但我不確定Rack::Handler::CGI的使用情況,但記錄很糟糕。

+0

對不起,這是行不通的。它讓我下載cgi.rb文件而不是運行它。也許我應該把它放在bin目錄而不是公共目錄中,但是那麼你能告訴我如何告訴Rack如何爲匹配路徑運行文件? – Darme 2012-02-28 10:55:48

+0

對不起,我真的不知道用CGI與軌道的任何實例。沒有'Rack :: Handler :: CGI'的文檔(只有方法等),並且有路由指南,它描述了'lambda {| env | [200,「內容類型:文本」,「測試」]}',僅此;( – farnoy 2012-02-28 18:46:06

+0

謝謝你的好意我目前尋找替代! – Darme 2012-03-28 10:13:46