2010-10-24 7 views
2

J'essaie d'utiliser un point d'interrogation dans une de mes URL mais sinatra/ruby ​​l'interprète comme le caractère regex qui rend les précédents facultatifs. Est-il possible de permettre réel? dans vos méthodes get? J'ai essayé \? et [?] mais ils n'ont pas fonctionné. Voici le début de ma méthode get:points d'interrogation dans sinatra get méthode

get '/group?groupid=:groupId' do |id| 

Si je vais à www.mydomain.com/group?groupid=1 je reçois une erreur, mais il fonctionne si je vais à www.mydomain.com/groupgroupid= 1

Répondre

8

Le "?" démarre la partie querystring de l'URL; Les paramètres de querystring sont accessibles via le "params" Hash.

+3

Pour clarifier, utilisez simplement: get '/ group' do; params [: groupid]; ...; –

+2

Pour "/ search? q = abc", utilisez: get '/ search' faire q = params ['q'] –