传递Rails表单输入为输入

时间:2011-01-30 18:12:54

标签: ruby-on-rails forms

我有一个使用GET请求提交数据的rails表单。我有一个select_tag选项,它实际上为用户提供了一个选项列表,他们可以选择多个选项。然后,这些数据通过URL作为数组提交,这非常难看且很长。有没有办法改为调用连接并将此数据作为字符串提交?

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以做的是创建一个隐藏的输入字段,然后在javascript中接管表单提交并从你的选择字段中提取数据,做你的连接魔法并将这些数据存储在隐藏的字段中。

例如,在HAML中:

= form_tag your_path, :id=> "your-form", :method => :post do
  = select_tag "your-options", "<option>Option1</option><option>Option2</option><option>Option3</option>"
  %input(type="hidden" id="select_data" name="select_data" value="")

:javascript
 $(document).ready(function() {
   $('#your-form').submit(function(){
     data = getDataFromYourSelectFieldAndJoinItIntoAString();
     //store in hidden field
     $('#select_data').val(data);
     //clear options selection
     $('#your-options').val('');
     return true;
   });
 });