- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
由于 ASP.NET 开发服务器 (VS2012) 不允许我们通过 LAN (!!) 访问 URL,而且我没有配置 IIS 的权限,我正在尝试使用 WEBrick 启动静态网站,以获得局域网访问权限。我在 Windows 上运行带有 vagrant 的 Ubuntu。
在我的静态网站的根目录中,我创建了一个包含以下内容的文件 app.rb
:
#app.rb
require 'rubygems'
require 'rack'
class App
def call(env)
return [200, {"Content-Type" => "text/html"}, "index.html"]
end
end
Rack::Handler::WEBrick.run(App.new, :Port => 8080)
当我运行服务器时; ruby app.rb
,然后浏览到 http://localhost:8080
,它给我这个错误:
ERROR NoMethodError: undefined method `each' for "index.html":String
/usr/local/rvm/gems/ruby-1.9.3-p392/gems/rack-1.4.5/lib/rack/handler/webrick.rb:71:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
有没有办法使用 WEBrick 或 Thin 来运行静态 (HTML/JS) 网站?
我听从了 Stuart 的建议并将代码更改为:
return [200, {"Content-Type" => "text/html"}, ["index.html"]]
现在,当我浏览到 URL 时,它会将“index.html”呈现为字符串,而不是呈现文件内容。
最佳答案
有一个简单的方法serving a folder over HTTP with WEBrick .
至于 Rack,它本身不处理服务文件。您必须读取要通过 HTTP 服务的文件并将文件的内容提供给 Rack,为此您可以尝试这个快速而肮脏的解决方案:
def call(env)
contents = File.open("index.html") { |f| f.read }
return [200, {"Content-Type" => "text/html"}, [contents]]
end
关于ruby - Webrick 或 Thin 运行(非 ruby)静态网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16414969/
我是 Ruby 和 Rails 新手,第一次建立项目。每次我尝试启动 WEBrick 服务器时,它都会启动然后关闭。任何帮助,将不胜感激。我似乎需要提供密码,但我不知道该怎么做。 bkuethen$
尝试在这里学习 Ruby on Rails 并遵循视频教程,但似乎无法运行环境。我现在已经使用rails new project_name 创建了一个项目,但是当我去运行服务器rails 服务器时,我
WEBrick 实例方法 mount_proc 做了什么(用简单的英语)? 文档说: mount_proc(dir, proc=nil, &block) Mounts proc or block on
首先我要说的是,我不知道自己在做什么。 好吧,既然这样,我的问题是:我正在运行 Grunt 的网络服务器来提供前端文件,并且正在运行 webrick 来提供数据 api。 Grunt 使用 grunt
首先让我说我不知道自己在做什么。 好吧,不打扰了,我的问题是:我正在运行 Grunt 的网络服务器来提供前端文件,我正在为数据 api 运行 webrick。 Grunt 使用 grunt-con
您能推荐一个修复方法吗? 我根据其他 SE 问题尝试过的补救措施: 运行捆绑安装 运行 gem 清理 运行 bundle exec rails server 运行 sudo ln -s/usr/loc
我像这样启动一个 webrick 服务器: dell@dev:/var/www/ruby$ ruby -run -httpd. -p 5000 并将此代码放入abc.rb: require 'web
我有一个在不同硬件上运行的网络应用程序,其中大部分由智能电视和机顶盒组成。 我的网络应用程序包含一个 ruby 脚本来设置应用程序以进行本地调试。此脚本构建我的应用程序,监听文件更改,并使用简单的
我之前运行的是 Linux Mint 13,现在刚切换到 Fedora 17。既然我已经切换了,我就无法再阻止 Webrick。我使用 Jetbrains Rubymine,并且启动服务器工作正常,但
我有一个非常基本的 webrick 服务器,用于运行嵌入式设备的管理页面。我们刚刚向设备添加了基本身份验证并且效果很好,但是您会像这样返回通用的“未经授权”消息: Unauthorized
我有以下代码,其中 fork 了一个 WEBrick 实例,我想等到 webrick 启动,然后再继续其余代码: require 'webrick' pid = fork do server =
如何禁止将来自 webrick 的消息回显到终端?对于出现在开头的 INFO 消息,我可以通过设置 Logger 参数来禁用它: s = WEBrick::HTTPServer.new( Port
我正在运行一个简单的 WEBrick 服务器来调试 POST 数据。我想将 POST 数据输出到日志。 我的代码是: server.mount_proc '/' do |req, res| r
就生产环境而言,使用 Phusion Passenger 或仅使用 WEBrick(例如 rails s)有什么区别? 我知道 Phusion Passenger 在 Apache 或 Nginx 上
我想在我做的时候设置默认端口 rails s 到 3010,而不必说: rails s -p 3010 ...每次。有任何想法吗? 最佳答案 您可以覆盖 Port通过将以下代码添加到 config/b
我目前有: $ rails s => Booting WEBrick => Rails 3.0.9 application starting in development on http://0.0.
如何配置 Aptana 以在 Ruby On Rails 项目上启动 webrick 服务器? 我使用选项“提升到项目”来使用 aptana 打开一个现有的 Rails 项目。我不知道如何在 Apta
我正在使用 ~/.rdebugrc 的内容运行 WEBrick文件正在 set autolist set autoeval set autoreload autolist 和 autoeval 默认开
有没有一种方法可以不冗长地启动 WEBrick 服务器。我觉得它记录了太多信息。例如: rails s --verbose=false 最佳答案 您可以在 Rails 配置中更改日志级别。 confi
目前,如果我更改lib /和app / helpers /目录中的文件,则必须重新启动服务器。有没有一种方法可以配置Rails或Webrick,以便它也可以热交换那些目录中的文件? 最佳答案 在您的c
我是一名优秀的程序员,十分优秀!