![](/img/trans.png)
[英]Writing ruby web-service. What architecture should I use? Rack, Rails-engine?
[英]What is rack? can I use it build web apps with Ruby?
红宝石新手提醒! (嘿那押韵:))
我已经阅读了官方定义,但仍空手而归。 当他们说中间件时究竟是什么? 目的是使用ruby和https吗?
patnaik博客上的小教程让事情更清晰,但我如何在localhost上做些什么呢? 我有ruby 1.9.2与rack gem和mongrel服务器一起安装。
我先开始杂种吗? 怎么样?
只是添加一个简单的Rack解释(因为我觉得缺少):
Rack基本上是一种Web应用程序可以与Web服务器通信的方式。 沟通如下:
environment
- 主要包含用户作为请求发送的内容 - 网址,标题,是GET还是POST等。 status
代码将是200
当出现问题时, status
代码将超过400
。 headers
可以使用关于在其缓存和其他内容中保持多长时间的信息的信息。 body
是您在浏览器中看到的实际网页。 这两个步骤或多或少可以定义Web应用程序的整个过程。
所以一个非常简单的Rack应用程序看起来像这样:
class MyApp
def call(environment) # this method has to be named call
[200, # the status code
{"Content-Type" => "text/plain", "Content-length" => "11" }, # headers
["Hello world"]] # the body
end
end
# presuming you have rack & webrick
if $0 == __FILE__
require 'rack'
Rack::Handler::WEBrick.run MyApp.new
end
您最好搜索对您有意义的其他问题和答案。 尝试“Rails入门”或“Ruby Web开发”。 本网站上有很多不同的主题专门讨论这个问题,所以你可以省去一些麻烦......
在一分钟内忽略您的问题的细节,似乎您想学习Ruby并构建Web应用程序。 在开始深入研究Rack或Mongrel或其他任何内容之前,您应该知道有两个完善的框架可以帮助构建Ruby Web应用程序。 第一个是Ruby on Rails,另一个是Sinatra。 还有很多其他的,但这些是Stack Overflow和互联网上最全面的文档。
查看以下链接了解一些背景信息......
如果你仍然渴望回答你的问题 - “什么是机架?”,你应该遵循相同的过程,并最终在这个Stack Overflow答案:
祝好运!
确实非常好的答案。 对于我的两分钱,我会添加这个,因为如果你知道如何获得幕后的文档,你会发现很多信息,因为我把它藏在这里,绝不是我所拥有的一切。 http://myrackapps.herokuapp.com/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.