12

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

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

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

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


尽管我将此问题标记为已回答,但值得一提的是,该问题本身并不是很合理。应用程序结构由实际使用的网络服务器/插件组合驱动,例如 Apache/Passenger,而不是 Rack。

4

2 回答 2

2

一个 Rack Web 应用程序很简单:

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

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

关于结构,您可以创建自己的。使用 Rack,您可以按照自己想要的结构生成内容。使用 Rack,您基本上是在输出原始 HTTP 内容。

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

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

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

于 2011-11-29T16:00:00.963 回答
1

你检查过 Rack Wiki吗?它包含许多指向教程、演示文稿等的各种链接。(但我不确定规格。)

于 2011-11-29T15:30:54.357 回答