Domanda

Attualmente in fase di sviluppo di un'applicazione web mobile RoR per la visualizzazione di informazioni su luoghi particolari.

Chiamiamo questi luoghi "installazioni". Ogni installazione ha almeno una "sede", che è un'istanza specifica dell'installazione. Quindi, ad esempio, un'installazione potrebbe essere un parco cittadino e uno dei luoghi corrispondenti potrebbe essere il parco durante un concerto o un evento. Se questo esempio è fonte di confusione, ignoralo, non importa molto.

I dati per queste installazioni e le sedi corrispondenti sono ospitati su Amazon Web Service S3 come oggetti json. Uso HTTParty per leggere gli oggetti json di AWS S3. Attualmente li sto leggendo in questo modo:

Nel controller dell'applicazione ho:

inlcude HTTParty
base_uri 's3.amazonaws.com/our_bucket'
before_filter :set_up_httparty

def set_up_httparty
  @installation = "INSTALLATION"
  @venue = "VENUE"
  @dir_url = "/#{@installation}/#{@venue}/"
end

Nei controller corrispondenti, dove ottengo informazioni separate, ho:

response =
  ApplicationController.get("#{@dir_url}/ConstantUniqueName.json")

Attualmente sto codificando i valori INSTALLATION e VENUE in modo che puntino a un insieme specifico di cartelle. Funziona benissimo, ma devo essere in grado di prendere questi valori dall'URL in questo modo:

www.themobilewebapp.com/INSTALLATION/VENUE/index

Ora sono sicuro che è molto probabile che passi questi valori con parametri in questo modo:

www.themobilewebapp.com/index?installtion=INSTALLATION&venue=VENUE

Ma se possibile, vorrei impostare il mio URL nel modo precedente. Ho bisogno che gli URL siano facili da inserire per gli utenti e che i codici QRC puntino direttamente a un'installazione specifica e alla sede corrispondente.

Se non è possibile fare qualcosa come www.mobwebapp.com/INSTALL/VEN/index, è possibile impostare sottodomini per ogni sede e poi inserire quella sede come una stringa?

Qualsiasi aiuto è apprezzato !! Grazie!

È stato utile?

Soluzione

Se lo inserisci nel tuo file config/routes.rb, sarai in grado di utilizzare il pattern URL che desideri:

match ':installation/:venue/index', :controller => :venue, :action => :index
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top