2016-06-20 2 views
0

У меня есть это рельсы-JQuery-автозаполнение формы, которая прекрасно работает, но я хотел бы направить пользователь немедленно в городе показать страницурельсов перенаправлять после автозаполнения

<%= form_tag(cits_path, :method => "get", id: "search-form", class: "form-inline") do %> 
<%= autocomplete_field_tag :search, params[:search], autocomplete_cit_name_events_path, 
     {class: "form-control", type: "search", 'data-auto-focus' => true} %>   
<%= submit_tag "#{t "navlinks.search"}", {class: "btn btn-default"} %> 
<% end %> 

<script type="text/javascript" charset="utf-8"> 
$('#search').bind('railsAutocomplete.select', function(event, data){ 
$('#search-form').submit() 
}); 
</script> 

который принимает пользователь:

/? дефициты utf8 = ✓ & поиска = Budapest

Я хотел бы пользователь приехать сюда:

/СПЭ/Budapest

На что ссылаются следующим образом: cit_path (cit.name)

Какая здесь магия? :)

ответ

1

Вам просто нужно изменить текущее местоположение вместо отправки формы.
Пример:

$('#search').bind('railsAutocomplete.select', function(event, data) { 
    //First you need to get the City. 
    var city = data.item.value; //or whatever key to grab the city 

    //do the redirect 
    window.location = '/cits/' + city; 
}); 
+0

Thansk за быстрый ответ. На этом ... Но не удастся захватить город. Как узнать, что внутри объекта данных? – Zsolt

+0

@Zsolt попробуйте сделать 'console.log (data)' и показать результат на консоли инструментов разработчика вашего браузера (на хром или firefox просто нажмите F12) – Victor

+0

Найденный! :) «Uncaught ReferenceError: данные не определены» – Zsolt