creo dinamicamente URL del modulo username.users.example.com
:Ruby on Rails rotta per sottodomini jolly per un controller/action
bob.users.example.com
tim.users.example.com
scott.users.example.com
Tutti *.users.example.com
richieste dovrebbe andare a una particolare scheda/azione. Come posso specificarlo in routes.rb
?
Tutte le altre richieste a www.example.com
passano alla normale lista di percorsi nel mio file routes.rb
.
UPDATE: guardo il railscast about subdomains ed ha mostrato il seguente pezzo di codice che sembra essere esattamente quello che mi serve (cambiato il controller e sottodominio):
match '', to: 'my_controller#show', constraints: {subdomain: /.+\.users/}
Il problema è che corrisponde solo all'URL di root. Ho bisogno di questo per abbinare OGNI URL possibile con un sottodominio *.users
. Quindi ovviamente lo metterei in cima al mio file routes.rb
. Ma come posso specificare un percorso catch-all? È semplicemente '*'
? O '/*'
?
Questo Railscast potrebbe aiutare: http://railscasts.com/episodes/221-subdomains-in-rails-3?autoplay=true –
rotaie 3 rotaie 3.2 rotaie 4 hmmmmmm ... quale esattamente? proprio come una nota a margine, se prevedi di avere un sacco di javascript, tieni a mente che ajax attraverso i sottodomini è un PITA. – phoet
@phoet - Avrei dovuto essere più chiaro con le versioni di Rails. Sto usando 3.2, ma aggiornerei a 4.0 se significasse che questa soluzione sarebbe più facile. –