Rails e cambio di root

Buongiorno lista.
Sto impazzendo con le configurazioni di routes.rb (root, map.root,
map.home), ma non capisco dove sbaglio…

In pratica come tutti ben sappiamo rails fa partire il sito da
http://macchina:3000/

Io avrei la necessità di farlo partire da:
http://macchina:3000/applicazione/ , con tutta questa parte “statica”…
quale impostazione devo cambiare/aggiungere? Sto buttando per aria il
web, ma o guardo nei posti sbagliati o capisco male le istruzioni… se
ho ben capito devo giocare appunto con routes.rb, ma per quanto cambi i
parametri che dicevo, sembra ignorarli.

Suggerimenti?

Grazie in anticipo e a presto.

Nel config/routes.rb trova e modifica questa rotta:

You can have the root of your site routed with “root”

just remember to delete public/index.html.

root :to => “ilcontroller#laactionchevuoi”

Hai cancellato /public/index.html? :slight_smile:

Paolo

2010/10/15 Daneel O. [email protected]:

web, ma o guardo nei posti sbagliati o capisco male le istruzioni… se
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


“… static analysis is fun, again!”

OWASP Orizon project leader, http://github.com/owasp-orizon
Owasp Italy R&D director

Paolo P. wrote in post #950408:

Nel config/routes.rb trova e modifica questa rotta:

You can have the root of your site routed with “root”

just remember to delete public/index.html.

root :to => “ilcontroller#laactionchevuoi”

Hai cancellato /public/index.html? :slight_smile:

Sì, fatto :slight_smile:

Ah, ho rails 2.1, la sringa è:

map.root :controller => ‘controller’, :action => ‘action’

Formulo meglio il problema.

L’applicazione gira su: http://macchinalocale:3000/ , fin qui tutto
bene.

Devo renderla raggiungibile dall’esterno, quindi pensavo di fare così:
dato che abbiamo già il sito aziendale esposto, pensavo di fare in
maniera che andando su: http://www.sitoazienda.it/applicazione si
vedesse l’applicazione in locale. Su Apache2 della macchina esposta ho
quindi aggiunto sul file di configurazione apposito:

ProxyPass        /applicazione http://macchinalocale:3000/
ProxyPassReverse /applicazione http://macchinalocale:3000/
ProxyPreserveHost on

però non funziona. Ho fatto altre prove con
http://macchinalocale:3000/applicazione , ma non va comunque,
logicamente…
La mia intenzione quindi sarebbe di riuscire a “spostare” l’applicazione
in rails in modo che lavori sotto
http://macchinalocale:3000/applicazione , in questo modo in teoria
sarebbe raggiungibile correttamente… sbaglio? Se non sbaglio, come
devo fare?

Daneel O. wrote in post #950437:

Paolo P. wrote in post #950408:

Nel config/routes.rb trova e modifica questa rotta:

You can have the root of your site routed with “root”

just remember to delete public/index.html.

root :to => “ilcontroller#laactionchevuoi”

Hai cancellato /public/index.html? :slight_smile:

Sì, fatto :slight_smile:

Ah, ho rails 2.1, la sringa è:
[bla bla bla]

A forza di tentativi più o meno ragionati (con “meno” >> “più”), sono
riuscito a farlo funzionare all’incirca come dico io:

su routes.rb:

map.connect ‘applicazione/:controller/:action/:id’
map.connect ‘applicazione/:controller/:action/:id.:format’

su apache2:

ProxyPass        /applicazione 

http://macchinalocale:3000/applicazione
ProxyPassReverse /applicazione
http://macchinalocale:3000/applicazione
ProxyPreserveHost on

Ora basterebbe sistemare la map.root che non funziona, ma per ora può
bastare anche così :slight_smile:

Se ci sono soluzioni più eleganti o qualcuno in preda ad un attacco di
generosa prolissità didattica vuole dire la propria in merito, ben venga
:slight_smile:

Grazie e alla prossima :slight_smile:

Daneel O.