Как обновить веб-страницу, когда пользователь выбирает определенное значение в выпадающем списке на rails?

#ruby-on-rails #page-refresh

#ruby-на-рельсах #страница-обновить #ruby-on-rails

Вопрос:

Я разрабатываю проект на rails 2.3.8, и мне нужно обновить всю веб-страницу, когда пользователь выбирает определенный выбор в выпадающем меню. Как я могу это сделать на rails?

Это мое выпадающее меню

   <%= collection_select("country", "id", @countries , :id, :name, {:prompt => true}, :id => 'xx') %>
  <%= observe_field('xx', :url => { :controller => 'calendar', :action => 'update_country' },:update => 'app_header',:with => "'con='   escape(value)")%>
  

Это тонко загружает страны, так как я могу перезагрузить всю страницу? пожалуйста, может ли кто-нибудь объяснить мне это?

Ответ №1:

Просто добавьте опцию html в свою коллекцию выберите, onchange => «Код Javascript для перезагрузки страницы»

 <%= collection_select("country", "id", @countries , :id, :name, {:prompt => true}, :id => 'xx', :onchange => "location.href = '#{root_url}'") %>
  

Комментарии:

1. Hay спасибо за ваш rply. Не могли бы вы объяснить, как поместить туда URL-адрес. Могу ли я использовать root_path в качестве URL?

2. Hay может вызвать определенный метод в файле контроллера, а затем перенаправить на другой URL?

3. Да, вы также можете это сделать, вместо root_url вы можете указать свой собственный пользовательский URL

4. На самом деле мне нужно перезагрузить веб-страницу после выполнения действий в методе «update_country» на контроллере «календарь». Как я могу это сделать на контроллере?

Ответ №2:

Или вы можете просто обновить текущую страницу:

 <%= collection_select("country", "id", @countries , :id, :name, {:prompt => true}, :id => 'xx', :onchange => "location.href = window.location.href") %>