Forum: Ruby on Rails replacing table row with form

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
sa 1. (Guest)
on 2009-01-07 15:44
I need a way to replace a table row with a form to edit it's values --
kind of like edit-in-place, only that I need a custom form (check boxes,
select lists, text fields, etc). My table is generated with a partial of
a model.

The row should have a button/link to enable to go in and out of edit
mode, and this should be done asynchronously. Here's what I came up with
so far:

# view

<div id="people_table">
    <%= render :partial => 'person', :collection => @people %>

# partial

<% @person = person -%>
<% @row_id = "person_#{}" %>
<tr id="person_<%= %>">
  <td><%= link_to_remote 'edit', :url => { :action => 'edit_row'}
  <td><%=  %></td>
  <td><%= person.age  %></td>

I need help with the controller and how to replace the specific row
(with id="person_<nn>") with a form. Should the form be hidden in the
partial and controlled by a boolean passed to it (if true, show form >
else show the normal view)? meaning:

<% if edit_mode -%>
  <% form_for :person do |f| -%>
    <td><%= f.text_field :name %></td>
    <td><%= f.text_field :age %></td>
    <td><%= f.submit 'go' %></td>
  <% end -%>
<% else -%>
  <td><%= link_to_remote 'edit', :url => { :action => 'edit_row'}
  <td><%=  %></td>
  <td><%= person.age  %></td>
<% end -%>

I can't be the only one who's trying to do this, so I'd really
appreciate any thoughts, insights and such. Thanks in advance!
This topic is locked and can not be replied to.