#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") %>