2012-02-24 74 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