2017-01-10 225 views
0

我寫了一個用於顯示數據庫中數據的sinatra應用程序。用戶可以將客戶號碼放入表單中。然後通過/customer/search進行處理,該路徑通過params[:customer_number]捕獲論壇的輸入,對其進行處理,結果顯示在網頁上。隱藏機架中的部分查詢字符串

我想什麼做的,就是收拾一下網址,所以不是說

my_url/customer/search?customer_number=123456 

它只是說

my_url/customer/?123456 

我已經看到了這個在其他網站上所以它必須是一般可能,但有可能與機架& sinatra?

我的應用程序是模塊化格式,因此應用程序是通過運行rackup config.ru啓動的。

回答

1

喜歡的東西

get '/customer/:customer_number' 

根本不需要查詢字符串中的參數(URL中沒有?)。在這種情況下,是來自URL的參數。

+0

'my_url/customer /?123456'仍然給我以前做過的 - Sinatra錯誤消息 – reedstonefood

+0

那麼,如果你放一個?,那些就是查詢字符串參數,並且是鍵和值的對。就像'my_url/customer /?customer_number = 123456'。但我說過,你不需要查詢字符串參數。擺脫那個'?' – Ursus

+0

啊!是的,這是有效的 - 我被掛在了另一個有'?'的應用程序,但這同樣好。現在的問題是如何處理用戶可以放入客戶號碼的表單?我是否必須重新設計它纔不是表單,而只是重定向到URL?還是有更聰明/更簡單的選擇?該動作目前設置爲'/ customer/search' – reedstonefood