2010-10-25 13 views
7

Ich habe vor kurzem auf Ruby 1.9.2 (RVM), Sinatra 1.1 und Passenger 3.0.0 aktualisiert. Ich habe eine einfache Anwendung besteht aus:Keine solche Datei zu laden Passagier und Sinatra

# config.ru 

require 'rubygems' 
require 'sinatra' 
require 'app.rb' 

run Sinatra::Application 

# app.rb 

require 'rubygems' 
require 'sinatra' 

get '/' do 
    erb :index 
end 

Wenn ich die Anwendung vom Terminal laufen mit ruby app.rb everythign startet wie erwartet. Mit Beifahrer bekomme ich jedoch: no such file to load -- app.rb. Ich habe andere Rails-Anwendungen, die gut mit dem Setup ausgeführt werden, und habe den Dokumentstamm in einem öffentlichen Unterverzeichnis eingerichtet. Irgendwelche Ideen, wie das zu beheben ist? Vielen Dank!

Antwort

17

ich hier das gleiche Problem hatte:

# config.ru 

require 'rubygems' 
require 'sinatra' 

require File.dirname(__FILE__) + "/app.rb" 

run Sinatra::Application 
9

Verwaltet, um das Problem zu beheben. Aus irgendeinem Grund herausgefunden, erfordert die config.ru das Include relativ zum aktuellen Verzeichnis angegeben werden. Die modifizierte Datei ist:

# config.ru 

require 'rubygems' 
require 'sinatra' 
require './app.rb' 

run Sinatra::Application 
+2

erfordern Pfade relativ sind in Ruby 1.9, mit Ausnahme installiert Edelsteine, die einen Weg nicht brauchen. – kristianp

Verwandte Themen