Jquery 用另一个模型的数据填充一个模型的表单字段(在Rails中)

Jquery 用另一个模型的数据填充一个模型的表单字段(在Rails中),jquery,ruby-on-rails,ajax,ruby-on-rails-3,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,基本上,我有一个事件模型和一个事件集模型。在适用的情况下,活动具有事件集,因此我可以在应用程序中相应地列出和分组它们,例如,公园中的一组音乐会活动,其中每个单独的音乐会活动具有稍微不同的属性,但大多数数据对于该集合中的所有活动都是通用的 我有必要的关联,以便我可以在Eventsnew中指定事件集 在我的事件集模型中,我有几列“默认”信息公共位置、公共名称等,我想用它们在Eventsnew中预先填充字段 新事件的事件集由一个select字段指定,该字段列出了从EventSets表中提取的所有事件集

基本上,我有一个事件模型和一个事件集模型。在适用的情况下,活动具有事件集,因此我可以在应用程序中相应地列出和分组它们,例如,公园中的一组音乐会活动,其中每个单独的音乐会活动具有稍微不同的属性,但大多数数据对于该集合中的所有活动都是通用的

我有必要的关联,以便我可以在Eventsnew中指定事件集

在我的事件集模型中,我有几列“默认”信息公共位置、公共名称等,我想用它们在Eventsnew中预先填充字段

新事件的事件集由一个select字段指定,该字段列出了从EventSets表中提取的所有事件集

在Rails3w/jQuery中是否有标准的处理方法?或者我应该使用自己的jQuery/AJAX修复程序来处理它?我喜欢在适当的情况下坚持合理的违约


编辑以澄清:在选择事件集后提交表单之前,我正在尝试在/events/new视图中预先填充表单字段。这是必要的,因为指定为“默认值”的事件集通常会被给定事件覆盖。。。它们只是用户保存输入重复的起点。

使用after\u initialize回调

def after_initialize :copy_stuff

def copy_stuff
  return unless self.new_record?
  @event_set = EventSet.find(...)
  self.field1 = @event_set.field1
  self.field2 = @event_set.field2
end
您也可以在控制器中执行类似的操作

def new
   @event_set = EventSet.find(...)
   @event = Event.new(:field1 => @event_set.field1, :field2 => @event_set.field2)
   ...
end
编辑

您需要通过ajax请求获取这些字段

routes.rb

post '/get-eventset-fields' => 'events#event_set_fields', :as => :get_eventset_fields
事件\u控制器.rb

def event_set_fields
  @event_set = EventSet.find_by_id(params[:eventset_id])
  render :json => @event_set.to_json
end
new.html.erb

var mycallback = function(data){
   $('#event_field1').val(data.field1);
   $('#event_field2').val(data.field2);
}

$("#eventset_select").change(function(){
   $.post('<%= get_eventset_fields_path %>', {'eventset_id': $(this).val()}, mycallback, "json"); 
});

感谢您的回答,但我应该在我的问题中更清楚地说明:我正在尝试在/event/new视图中预先填充表单字段,然后在选择事件集后立即提交表单。将适当编辑问题。