我正在尝试遵循这个 Sinatra 教程(从 2008 年开始):
http ://devver.wordpress.com/2008/11/25/building-a-iphone-web-app-in-under-50-lines-与-sinatra-and-iui/
但是遇到了一些代码问题,对我来说,这些文件目前没有列在主标题下。当我更改dir
显示"./public/files/"
列表时,但单击文件的链接会导致错误页面(“Sinatra 不知道这个小曲”)。如果我public
从 URL 中删除它,它将在这种情况下起作用。我该如何解决这两个问题?
此外,如果使用“use_in_file_template!”行,我会收到错误消息,我只是将其注释掉。而且我不熟悉 CSS,所以有人可以告诉我在哪里可以设置文本的颜色吗?
require 'rubygems'
require 'sinatra'
require 'pathname'
get "/" do
dir = "./files/"
@links = Dir[dir+"*"].map { |file|
file_link(file)
}.join
erb :index
end
helpers do
def file_link(file)
filename = Pathname.new(file).basename
"<li><a href='#{file}' target='_self'>#{filename}</a></li>"
end
end
use_in_file_templates!
__END__
@@ index
<html>
<head>
<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
<style type="text/css" media="screen">@import "/stylesheets/iui.css";</style>
<script type="application/x-javascript" src="/javascripts/iui.js"></script>
</head>
<body>
<div class="toolbar">
<h1 id="pageTitle"></h1>
</div>
<ul id="home" title="Your files, sir." selected="true">
<%= @links %>
</ul>
</body>
</html>