PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

ActiveRecord versucht, sich mit rbenv mit der falschen Datenbank zu verbinden

Die Entwicklung hat gut funktioniert. Sogar die rails console production auf dem Server funktionierte mit app.get '/' ohne Datenbankfehler. Als die Anfrage jedoch über den Browser gestellt wurde, brach die Hölle los.

Das Problem ist, dass die Anweisungen, die Phusion Passenger am Ende der Installation gibt, nicht genau mit rbenv-vars kompatibel sind.

Am Ende der Passenger-Installation werden Sie angewiesen, Folgendes zu nginx.conf hinzuzufügen :

passenger_root /home/user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.26;
passenger_ruby /home/user/.rbenv/versions/2.3.0/bin/ruby;

Allerdings dann, wie @mislav darauf hinwies , würden die Ruby-Skripte die Ruby-Prozesse direkt anstatt über rbenv hochfahren.

Um dies zu beheben, muss was in nginx.conf stehen stattdessen ist:

passenger_root /home/user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.26;
passenger_ruby /home/user/.rbenv/shims/ruby;

Hoffe, das hilft, eine weitere ahnungslose Seele zu verschonen :D