我开始用padrino建立一个网站。目前我的应用程序的主要类是世界上最简单的东西:
class App < Padrino::Application
enable :sessions
get :index do
send_file 'public/view/index.html'
end
error 404 do
send_file 'public/view/errors/404.html'
end
end
所以视图只是htmls - 它背后的想法是使用angularjs渲染rest api提供的所有东西。我猜这是相当标准的。
我的问题是 - 虽然它可以很好地渲染主页(localhost:3000 /),但自定义错误根本不起作用;让我们说我尝试localhost:3000 / test - 标准&#34; Sinatra不知道这个小曲&#34;页面将被渲染。
我用WEBrick 1.3.1运行padrino 0.12.4。我在这里做错了什么?
答案 0 :(得分:1)
我相信这里发生的事情是,当你去localhost:3000 / test时,你的Sinatra应用程序正在寻找&#34;测试&#34; App Controller下的操作。显然这个动作没有找到,因为它没有被列为路线!因此,如果没有找到,那么明确告诉Sinatra返回404页面:
error Sinatra::NotFound do
content_type 'text/plain'
[404, 'Not Found']
end