1

在我的一种形式中,我有一个名为 event_id 的元素,我从下拉框中选择该值。选择 event_id 后,我想使用 Ajax 调用控制器,并将 panel_event_id 作为我可以在表单的其余部分中使用的 ruby​​ 变量返回。这就是我正在做的事情:

在 routes.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/序列化程序/JSON.html#method-i-as_json

于 2012-07-18T16:32:55.167 回答