Pregunta

Actualmente desarrollando una aplicación web móvil RoR para mostrar información sobre lugares particulares.

Llamemos a estos lugares "instalaciones". Cada instalación tiene al menos un "lugar", que es una instancia específica de la instalación. Así, por ejemplo, una instalación podría ser un parque de la ciudad y uno de sus lugares correspondientes podría ser el parque durante un concierto o evento. Si este ejemplo es confuso, ignore, no importa mucho.

Los datos de estas instalaciones y sus lugares correspondientes se alojan en Amazon Web Service S3 como objetos json. Utilizo HTTParty para leer los objetos json de AWS S3. Actualmente los estoy leyendo así:

En el controlador de la aplicación tengo:

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

En mis controladores correspondientes, donde obtengo información separada, tengo:

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

Actualmente estoy codificando los valores INSTALLATION y LUGAR para que apunten a un conjunto específico de carpetas. Esto funciona muy bien, pero necesito poder tomar estos valores de la URL así:

www.themobilewebapp.com/INSTALLATION/VENUE/index

Ahora estoy seguro de que lo más probable es que pase estos valores con parámetros como este:

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

Pero si es posible, me gustaría configurar mi URL de la forma anterior. Necesito que las URL sean amigables para que los usuarios las ingresen y que los códigos QRC apunten directamente a una instalación específica y al lugar correspondiente.

Si no es posible poder hacer algo como www.mobwebapp.com/INSTALL/VEN/index, ¿es posible configurar subdominios para cada lugar y luego introducir ese lugar como una cadena?

¡¡Se agradece cualquier ayuda !! ¡Gracias!

¿Fue útil?

Solución

If you put this in your config/routes.rb file then you will be able to use the URL pattern that you want:

match ':installation/:venue/index', :controller => :venue, :action => :index
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top