У меня действительно простой сайт Синатра, работающий локально.Я использую вещь "rackup", где вы определяете config.ru
следующим образом:
require './web'
use Rack::ShowExceptions
run App.new
А затем в терминале вы можете запустить 'rackup', и веб-сервер запускается, и все хорошо.
Однако, когда я развертываю это на heroku, я не получаю никаких сообщений об ошибках, но, когда я посещаю сайт, он говорит, что стандартная ошибка "Sinatra не знает эту пустышку".
Вот фрагмент моего web.rb
на случай, если это поможет:
require 'sinatra'
require 'maruku'
require 'mustache/sinatra'
require 'nokogiri'
class App < Sinatra::Base
register Mustache::Sinatra
require './views/layout'
set :mustache, {
:views => './views/',
:templates => './templates/'
}
get '/' do
"FUUUUUUUUUUUUU"
end
Глядя на логи герою, это появляется как синатра начинается, а затем останавливается;это не продолжает работать.Затем, когда кто-то делает запрос, очевидно, сервер возвращает 404
2012-01-20T12:39:23+00:00 app[web.1]: == Sinatra/1.1.0 has taken the stage on 16662 for development with backup from Thin
2012-01-20T12:39:23+00:00 app[web.1]: >> Thin web server (v1.2.7 codename No Hup)
2012-01-20T12:39:23+00:00 app[web.1]: >> Maximum connections set to 1024
2012-01-20T12:39:23+00:00 app[web.1]: >> Listening on 0.0.0.0:16662, CTRL+C to stop
2012-01-20T12:39:23+00:00 app[web.1]: == Sinatra has ended his set (crowd applauds)
2012-01-20T12:39:23+00:00 app[web.1]:
2012-01-20T12:39:23+00:00 app[web.1]: >> Stopping ...
2012-01-20T12:39:23+00:00 heroku[web.1]: Process exited
2012-01-20T12:39:24+00:00 heroku[router]: GET young-river-2245.herokuapp.com/ dyno=web.1 queue=0 wait=0ms service=48ms status=404 bytes=409