PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

ActiveRecord tenta di connettersi al database sbagliato utilizzando rbenv

Lo sviluppo ha funzionato bene. Anche rails console production sul server ha funzionato con app.get '/' senza errori di database. Tuttavia, quando si invia la richiesta tramite il browser, si scatena l'inferno.

Il problema è che le istruzioni che Phusion Passenger dà al termine della sua installazione non sono esattamente compatibili con rbenv-vars.

Al termine dell'installazione del Passeggero, ti viene richiesto di aggiungere quanto segue a nginx.conf :

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;

Tuttavia, come ha sottolineato @mislav , gli script di Ruby avvieranno i processi di Ruby direttamente invece che tramite rbenv.

Per risolvere questo problema, cosa deve essere in nginx.conf invece è:

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;

Spero che questo aiuti a risparmiare un'altra anima ignara :D