Rails select_tag onchange action БЕЗ Ajax? - PullRequest
2 голосов
/ 19 мая 2011

В моем индексном действии контроллера часов я хочу иметь возможность переключаться между отображаемыми часами.Я использую таблицу calendar_for, и внутри календаря я показываю отслеженное время (часы) другого пользователя моего приложения rails.Поскольку я использую довольно сложную структуру календаря с некоторыми вычислениями внутри, я не знаю, как извлечь ее из частичного, поэтому я хочу, чтобы событие onchange, которое вызывается в select_tag, перезагрузило действие index с другим параметром.

Я пытался

<% form_for :hours, :url => { :action => "index" } do |f| %>
  <%= select_tag :user_id, options_from_collection_for_select(User.find(:all), :id, :name),
  { :onchange => "this.form.submit();"} %>
<% end %>

, но это подводит меня к новому виду / виду (как будто я хочу добавить новую запись)?Кроме того, URL-адрес просто показывает /hours

Любая помощь будет оценена ....

Я в основном хочу, чтобы после изменения меню выбора URL-адрес выглядит как /hours?user_id=<id from select_tag>

спасибо

1 Ответ

0 голосов
/ 19 мая 2011

Я не совсем понимаю, зачем вам форма? На мой взгляд, самый простой способ - обновить файл application.js примерно так (при условии, что вы используете jquery):

$("#selector_id").change ( function () {
  window.location.replace('/hours?'+this.id);
});

Хотя, возможно, для этого есть какой-то симпатичный помощник по рельсам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...