【问题标题】:How to run a CGI Ruby script inside Ruby on Rails?如何在 Ruby on Rails 中运行 CGI Ruby 脚本?
【发布时间】:2023-11-13 07:17:01
【问题描述】:

我正在尝试从 Ruby on Rails 应用程序中运行与此完全相同的 ruby​​ cgi.rb 脚本:http://pine.fm/LearnToProgram/?ShowTutorialCode=true,以便获得与此完全相同的结果:http://pine.fm/LearnToProgram/,但在 Rails Web 应用程序中。

请问我该怎么做?

【问题讨论】:

标签: ruby-on-rails ruby ruby-on-rails-3 cgi


【解决方案1】:

我不确定,但这样的解决方案应该是正确的(未经测试):

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

由于 Rails 使用 Rack,它支持将其应用程序安装在路由器上。但是我不确定Rack::Handler::CGI 的用法,它的文档记录非常差。

【讨论】:

  • 对不起,它不起作用。它让我下载 cgi.rb 文件而不是运行它。也许我应该把它放在一个 bin 目录而不是公共目录中,但是你能告诉我如何告诉 Rack 为匹配路由运行的文件在哪里?
  • 对不起,我真的不知道任何使用 cgi 和 rails 的例子。没有Rack::Handler::CGI 的文档(只有方法等),并且有关于路由的导轨指南,描述了lambda { |env| [200, "Content-Type: text", "test"] },只有这个;(
  • 还是谢谢你!我目前正在寻找替代方案。
最近更新 更多