如何在rails上动态加载表单上保存数据?

时间:2011-10-12 04:39:01

标签: ruby-on-rails ajax forms

我正在开发一个rails项目,它包含加载动态内容的表单,但我不知道如何将这些动态生成的字段数据保存到数据库中。 这是我的模特

create_table "events", :force => true do |t|
  t.string   "name"
  t.date     "start_at"
  t.date     "end_at"
  t.datetime "created_at"
  t.datetime "updated_at"
  t.string   "trainer_id"
  t.string   "venue_id"
  t.string   "description"
  t.boolean  "holy"
  t.integer  "nxt"
  t.string   "country_id"
end

在我创建新事件表单时,当用户从国家/地区下拉菜单中选择一个国家/地区时,我使用java脚本功能加载场地选择下拉菜单。当用户单击“提交”按钮时,它不会将值保存在动态生成的值中。我该如何解决这个问题?

<%= f.label :country_id %><br />
<%= select :search_, :country_id,
      Country.all.collect { |m| [m.name, m.id] }.sort,
      { :prompt=>'Please Select...' }, :id => 'country_id'
%>

<%= observe_field('country_id',
      :url    => { :controller => 'countries', :action => 'update_city_menu' },
      :update => 'city_field_div',
      :with => "'myval=' + escape(value)"
    )
%>

<div id="city_field_div"></div>

这是加载到city_field_div的内容:

<% if @country.present? %>
  <select id="neighborhood_field" name="search[venue_field]">
    <%= options_from_collection_for_select(
          Venue.find( :all,
            :order      => "place", 
            :conditions => [ "country_id = ?", session[:countryid]]
          ),
          :id, :place
        ) 
    %>
  </select>
<% end %>

那么当用户点击提交按钮时,如何在动态生成的<div>中保存数据?

0 个答案:

没有答案