0

好吧,这似乎是一个真正的菜鸟问题。

我目前在我的 MAMP 服务器上运行了一个简单的 html 和 javascript 新闻阅读器。你可以在Github上看到它。一切都在客户端运行,除了获取和缓存由一个非常小的 php 文件完成的提要。我有一个 ajax 调用,它通过向 php 脚本传递一些参数来请求新闻提要。

我最近一直在学习 Ruby,并开始在 Ruby 中重做这个简单的 php 脚本。我遇到的问题是,我不能像使用 php 那样通过 ajax 请求带有参数的 ruby​​ 脚本。

那么,要做到这一点,最简单的步骤是什么?

我觉得一个成熟的框架,即使像 Sinatra 一样小,也会是矫枉过正。所以任何帮助将不胜感激。我是否完全以错误的方式思考这个问题?谢谢。

更新

我最终采用了 Ruby CGI 方式。这就是我所做的。

在我有我的脚本的文件夹中,我添加了一个 .htaccess 文件,其中包含以下内容以使 apache 执行 .rb 文件。

AddHandler cgi-script .rb
Options +ExecCGI

然后我像这样开始我的红宝石文件。

#!/usr/bin/ruby
require 'cgi'

cgi = CGI.new('html4')

cgi.out {
    cgi.html {
        "Hello World" #started content here   
    }

}

然后我确保该文件是可执行的。chmod 774.

感谢你的帮助。

4

2 回答 2

0

这里最简单的解决方案是Ruby CGI

于 2012-08-15T12:18:52.823 回答
0

如果您认为 sinatra 对您来说仍然很重要,请更深入并尝试编写纯 Rack 应用程序。

例如查看这个最小的应用程序 - https://github.com/stevenwilkin/ip.stevenwilkin.com

机架只需要像这样的 3 个元素数组

[200           , {"Content-Type" => "text/plain"}, [env["REMOTE_ADDR"]]]
[return status , headers hash                    , body string         ]

Rails、Sinatra 和许多其他 ruby​​ web 框架都在内部使用 Rack。

如果您需要格式良好的请求参数,您可以使用http://rack.rubyforge.org/doc/classes/Rack/Request.html例如。

于 2012-08-15T12:04:58.900 回答