form_remote_for, reloaded

Andor Greißl wrote:

Iterating in small steps to AJAX, the next iteration was:

<tr>   <%form_remote_for :time_record, :url => { :action => "add_time_record" } do |f| %>     <% f.date_select(:day, :disabled => true, :order => [:day, :month]) %>     <td><%= f.date_select(:day, :order => [:day, :month]) %></td>     <td><%= f.collection_select(:user_id, @users, :id, :login_name) %></td>     <td><%= f.collection_select(:project_id, @projects, :id, :name) %></td>     <td><%= f.text_field :quantity, :size => 4 %></td>     <td><%= f.text_field :description, :size => 50 %></td>     <td><%= submit_tag "Zeit Erfassen" %></td>   <% end %> </tr>

Which did not work.

This'll work if you instead write something like:

<tr id="time_record"> <% fields_for :time_record do |f| %> <td><%= f.date_select :day, :disabled => true, :order => [:day, :month] %></td> <td><%= f.date_select :day, :order => [:day, :month] %></td> <td><%= f.collection_select :user_id, @users, :id, :login_name %></td> <td><%= f.collection_select :project_id, @projects, :id, :name %></td> <td><%= f.text_field :quantity, :size => 4 %></td> <td><%= f.text_field :description, :size => 50 %></td> <td><%= submit_to_remote :commit, "Zeit Erfassen", :submit => :time_record,                           :url => {:action => "add_time_record"} %></td> <% end %> </tr>

In my opinion, form_for and form_remote_for should behave the same way.

They do. You're lucky your first form_for version worked at all.