Как передать значение collection_select с link_to_remote в рельсы? - PullRequest
1 голос
/ 05 октября 2011

Я хочу передать значение раскрывающегося списка collection_select с помощью link_to_remote.

<%= collection_select("event", "trainer_id", @trainers , :id, :name, {:prompt => true}) %>
<%= link_to_remote 'Show calendar', :url => {:controller => 'calendar', :action => 'trainer_view'} %> 

Я хочу передать выбранное значение trainer_id методу trainer_view. Как я могу это сделать?

1 Ответ

0 голосов
/ 05 октября 2011

Привет :) Я бы порекомендовал использовать jQuery и AJAX для достижения вашей цели, вот как я бы попытался это сделать:

Во-первых, я бы опустил <%= link_to_remote %> под collection_select, чтобыбудет выглядеть следующим образом:

<%= collection_select("event", "trainer_id", @trainers , :id, :name, {:prompt => 'Select a Trainer'}) %>
<div id="trainerCalendar"></div>

Затем поместите этот JavaScript в ваш application.js, когда DOM будет готов:

$('#trainer_id').live('change', function() {
  $('#trainerCalendar').html.empty;
  $.ajax({ url: '/trainer_view/',
    data: 'id=' + this.value,
    success: function(data) {
      $('#trainerCalendar').html(data);
    }
  })
});

Вы можете заставить свой контроллер отвечать с частичнымкалендарь.

Надеюсь, это поможет!

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