2011-01-30 2 views
0

У меня есть форма рельсов, которая использует запрос GET для отправки данных. У меня есть опция select_tag, которая по сути дает пользователю список опций, где они могут выбирать несколько. Эти данные затем передаются через URL-адрес в виде массива, который очень уродлив и длинен. Есть ли способ вместо этого присоединиться к соединению и отправить эти данные в виде строки?Пропуск Rails формы ввода как строка

Спасибо!

ответ

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; 
    }); 
}); 
Смежные вопросы