gpt4 book ai didi

ruby - 如何在本地 WebServer 上执行简单的 Ruby

转载 作者:数据小太阳 更新时间:2023-10-29 07:57:35 24 4
gpt4 key购买 nike

我正在使用 WEBrick 在端口 2000 上启动本地服务器并尝试使用 ERB 执行 Ruby。 (我在我的 OS X 机器上安装了 Ruby 1.9.2)。它似乎不起作用。

例如,我创建了一个 erb 文件 (tryErb.erb),如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>try erb</title>
</head>
<body>
<p> % 99.downto(96) do |number|
<%= number %> bottles of beer…
% end
</p>
</body>
</html>

我使用 chmod a=rwx tryErb.erb 使文件可执行,但如果我尝试访问正确的 URL (http://localhost:2000/tryErb.erb),似乎什么也没有上类。浏览器哪儿也去不了;它只是停留在根的索引上。bash shell 中的日志显示:

localhost - - [12/May/2011:10:12:05 CEST] "GET /tryErb.erb HTTP/1.1" 200 199 http://localhost:2000/ -> /tryErb.erb

有什么想法吗?

最佳答案

好吧,这个问题已经解决了,但还没有完全解决。您需要指定 mime 类型:MimeTypes => {'rhtml' => 'text/html'},我从 http://www.ruby-forum.com/topic/96436 复制了这个,识别 rhtml 并运行您在 <%...%> 中拥有的所有 ruby​​ 代码。

require 'webrick'

include WEBrick

def start_webrick(config = {})
# always listen on port 3000
config.update(:Port => 3000)
config.update(:MimeTypes => {'rhtml' => 'text/html'})
server = HTTPServer.new(config)
yield server if block_given?
['INT', 'TERM'].each {|signal|
trap(signal) {server.shutdown}
}
server.start
end

start_webrick(:DocumentRoot => Dir::pwd)

关于ruby - 如何在本地 WebServer 上执行简单的 Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com