2011-10-05 36 views
1

我想通過link_to_remote傳遞collection_select下拉列表值。如何通過rails中的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

嗨:)我會建議使用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); 
    } 
    }) 
}); 

你可以有你的控制器資源部分日曆的池塘。

希望這會有所幫助!