2011-10-05 10 views
1

私はlink_to_remoteでcollection_selectドロップダウンリストの値を渡したいと思います。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を使用することをお勧めします:それは次のようになりますので、

まず、私はcollection_select<%= link_to_remote %>をドロップします。あなたは、コントローラの解像度を持つことができます

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

:DOMの準備ができているとき

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

次に、あなたのapplication.jsにこのJavaScriptを置きますカレンダーの一部と池。

希望すると便利です。

関連する問題