我想通过link_to_remote传递collection_select下拉列表值。
<%= 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方法。我怎么能这样做?
答案 0 :(得分:0)
嗨:)我建议使用jQuery和AJAX来实现你的目标,这就是我尝试这样做的方法:
首先,我会将<%= link_to_remote %>
放在collection_select
下面,所以它看起来像这样:
<%= collection_select("event", "trainer_id", @trainers , :id, :name, {:prompt => 'Select a Trainer'}) %>
<div id="trainerCalendar"></div>
然后,当DOM准备就绪时,将此JavaScript放在application.js中:
$('#trainer_id').live('change', function() {
$('#trainerCalendar').html.empty;
$.ajax({ url: '/trainer_view/',
data: 'id=' + this.value,
success: function(data) {
$('#trainerCalendar').html(data);
}
})
});
您可以让控制器回复部分日历。
希望这有帮助!