寻找机架应用程序结构和config.ru规格?

时间:2011-11-29 14:56:33

标签: ruby rack rackup

这可能会让我看起来很蹩脚但仍然 - 我找不到任何典型的机架应用程序结构(文件夹/文件,如public,config.ru)或config.ru文件的正式描述内容。

在Java世界中,有一个明确的Web应用程序定义及其组成的部分(WEB-INF,META-INF web.xml)。

是否有Rack Web应用程序的规范?或者像Ruby本身一样模糊不清。

我希望在http://rack.rubyforge.org/网站的某个地方找到这些信息,但我不能。请指出我正确的方向。


虽然我将这个问题标记为已回答,但值得一提的是,问题本身并不合法。应用程序结构由正在使用的实际webserver /插件组合驱动,如Apache / Passenger,而不是Rack。

2 个答案:

答案 0 :(得分:2)

Rack Web应用程序非常简单:

class HelloWorld
  def call(env)
    [200, {"Content-Type" => "text/plain"}, ["Hello world!"]]
  end
end

和基于Rails,Sinatra等框架构建的应用程序一样复杂,基于Rack构建。

与结构有关,您可以创建自己的结构。使用Rack,您可以按照希望的方式生成内容。使用Rack,您基本上可以输出原始HTTP内容。

Introducing Rack”,“32 Rack Resources to Get You Started”和“Introduction to Rack middleware”是更好地了解Rack的资源。

与结构有关,您可以自由组织文件以适应webapp。您可能在其他文件中有其他Rack应用程序;您只需要正确地要求这些文件。

Rack应用程序可以是任何使用:call响应env消息的Ruby类,就像上面的HelloWorld应用程序一样。

答案 1 :(得分:1)

您检查了the Rack Wiki吗?它包含许多指向教程,演示文稿等的链接。(但我不确定规格。)