2010-07-28 17 views
12

Provare a configurare un'app Rails in una sottodirectory. Il mio server è Cherokee. Ho un URL di base di: www.nonsense.com, che è un blog wordpress, e desidero creare un'app per rails su www.nonsense.com/rails_app.App per rails in una sottodirectory

una rapida scansione del google mi ha portato a utilizzare: ActionController :: AbstractRequest.relative_url_root = "/ rails_app"

Tuttavia, sembra che questo è stato rimosso negli ultimi Rails. Qualche idea sull'equivalente in Rails 2.3.8?

+0

La prima cosa che devi fare è configurare il server web di hosting Wordpress per dirigere gli URL "sub" per un server di applicazioni Rails. La risposta a questo dipenderà da quali server stai correndo e come li hai distribuiti. Si prega di fornire maggiori dettagli sul proprio ambiente – bjg

+0

Ah, noto. È già configurato. www.nonsense.com/ porta correttamente alla mia installazione WP funzionante. www.nonsense.com/rails_app accede alla mia app per i binari, ma visualizzo un errore "questa pagina non esiste". Il che non accade quando l'app si trova nella directory root, solo quando si trova nel sottotitolo, quindi presumo che debba occuparsi della relativa_url_root. – mebFace

risposta

7

Per Rails 4/5, è possibile impostare questo nel application.rb o production.rb:

config.relative_url_root = "/app1" 

O semplicemente imposta questa variabile di ambiente:

RAILS_RELATIVE_URL_ROOT='/app1' 

Tuttavia, ho trovato che questo prefisso solo i percorsi alle risorse. I percorsi URL creati dagli helper URL non rispettano questa impostazione.

pare, c'è un bug relativo a questo: https://github.com/rails/rails/issues/5122

Questo dovrebbe aver risolto, ma non ho trovato che per essere il caso: https://github.com/rails/rails/pull/18775/files

La documentazione per questa funzione non è molto chiaro su come esattamente si suppone di lavorare:

http://edgeguides.rubyonrails.org/configuring.html#deploy-to-a-subdirectory-relative-url-root

Forse provare namespacing invece:
http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

Questa risposta potrebbe anche essere utile:
Configuring a Rails 4 app for production in a subdirectory under Apache

+0

Ho riscontrato lo stesso problema, 'RAILS_RELATIVE_URL_ROOT' sembra ancora rotto. –

Problemi correlati