无法在Padrino中使用自定义错误页面

时间:2015-03-23 17:24:18

标签: ruby sinatra padrino

我开始用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。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

我相信这里发生的事情是,当你去localhost:3000 / test时,你的Sinatra应用程序正在寻找&#34;测试&#34; App Controller下的操作。显然这个动作没有找到,因为它没有被列为路线!因此,如果没有找到,那么明确告诉Sinatra返回404页面:

error Sinatra::NotFound do
  content_type 'text/plain'
  [404, 'Not Found']
end