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

Ole*_*eev 12 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.

iGb*_*nam 2

Rack Web 应用程序非常简单:

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

与构建在 Rails、Sinatra 等框架上的应用程序一样复杂,构建在 Rack 上。

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

Rack 简介”、“入门的 32 个 Rack 资源”和“ Rack 中间件简介”是帮助您更好地了解 Rack 的资源。

关于结构,您可以自由地组织文件以适应网络应用程序。您可能在不同的文件中还有其他 Rack 应用程序;您所需要的只是正确地要求这些文件。

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