简单的单红宝石文件Web应用程序

时间:2012-08-15 11:59:18

标签: php javascript ruby webserver

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

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

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

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

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

更新

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

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

AddHandler cgi-script .rb
Options +ExecCGI

然后我就这样开始了我的ruby文件。

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

cgi = CGI.new('html4')

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

}

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

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

例如,请参阅此最小应用 - https://github.com/stevenwilkin/ip.stevenwilkin.com

Rack只需要像这样的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作为例子。

答案 1 :(得分:0)

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