1

私のフォームの1つに、ドロップダウンボックスから値を選択するevent_idという要素があります。event_idを選択したら、Ajaxを使用してコントローラーを呼び出し、panel_event_idをフォームの残りの部分で使用できるruby変数として返します。これが私がしていることです:

ルート.rbには、次のものがあります。

match 'panel_event_id', :to => "panels#event_id"

私は次のjavascript関数を持っています(構文についてはわかりません):

<script type="text/javascript">
  $('select').change(set_session_event_id);

  function set_session_event_id()
  {
    var event_id = document.getElementById("event_id");
    var event_id_value = event_id.value;
    $.post('panel_event_id', { set_event_id: event_id_value });
  }
</script>

次のメソッドで、panel_controler.rbに何を入れますか。

def panel_event_id
end

そして、どのように私は私の見解に戻ってそれに基づいて行動するのですか?

4

1 に答える 1

1

コントローラでjsonをレンダリングできます:

def panel_event_id
  ...
  render :json => panel_event.as_json(:only => [ :id ])
end

その後、postメソッドの成功イベントを処理できます。こちらのドキュメントをご覧ください:http://guides.rubyonrails.org/layouts_and_rendering.htmlおよびこちらhttp://api.jquery.com/jQuery.post/およびこちらhttp://api.rubyonrails.org/classes/ActiveModel/ Serializers / JSON.html#method-i-as_json

于 2012-07-18T16:32:55.167 に答える