2015-04-07 96 views
1

我有一個在Sinatra應用程序的頁面中包含元素的HTML表單,例如如何處理Sinatra中單個選擇字段的多個值?

<form action="/form" method="post"> 
    <p> 
    <label for="text">Text</label> 
    <input type="text" name="text" id="text"> 
    </p> 

    <p> 
    <label for="select">Selection</label> 
    <select name="select" id="select"> 
     <option value="A">A</option> 
     <option value="B">B</option> 
     <option value="C">C</option> 
    </select> 
    </p> 

    <p> 
    <label for="multi_select" multiple>MultipleSelection</label> 
    <select name="multi_select" id="multi_select" multiple> 
     <option value="A">A</option> 
     <option value="B">B</option> 
     <option value="C">C</option> 
    </select> 
    </p> 

    <p> 
    <input type="submit" name="submit" value="Submit"> 
    </p> 
</form> 

如果用戶選擇從MULTI_SELECT甲& C,在屈的POST處理程序應該返回選定的值,但由於params是散列,它只返回最後選擇的值(因此params[:multi_select] =「 C」)。

由於各種原因,我無法使用Javascript或其他前端技巧來更改值的發送方式。有沒有一種好的方法來正確處理服務器端?在這個項目之前,我還沒有和Sinatra一起工作過。

+0

[這個討論(https://groups.google.com/forum/#!topic/sinatrarb/qA8tNbtMApE)意味着,如果格式化名稱,如數組會工作。你有沒有試過'