Page.replace_html and <table>


#1

Hello,

I have a page with a form and a div area that I update after submitting
the form.

I want to replace the Div area with new information.

In the page, inside the div area, I have:

<%= render :partial => "list" %>

as I want to show the current records the first time the page opens.

The problem is after submitting, I the ‘old values’ of the Div remain in
the Div, and now I have the new values with the old values. If I
continue to add some new values, I get always on top the new ones and
after the ‘old ones’, I get TWO tables, the new one and the old one.

How I can remove the old table ???

If for example I add some text on the top of the _list (partial included
in the Div), this text gets removed but NOT the table.

Any ideas ?

I’m updating the div with a .js.rjs file:
page.replace_html(“div_listd”, :partial => “list”)

If in the page I don’t put the <%= render :partial => “list” %>, I
don’t see the inital records (correct), and subsequent forms submitted
show the resulted records ok, so the .js can replace the content of the
Div area …

very strange for me …

thanks,

r.


#2

Raimon Fs wrote:

<%= render :partial => “list” %>

don’t see the inital records (correct), and subsequent forms submitted
show the resulted records ok, so the .js can replace the content of the
Div area …

Are you sure that your HTML is correctly nested?


Rails Wheels - Find Plugins, List & Sell Plugins -
http://railswheels.com


#3

Mark Reginald J. wrote:

Raimon Fs wrote:

<%= render :partial => “list” %>

don’t see the inital records (correct), and subsequent forms submitted
show the resulted records ok, so the .js can replace the content of the
Div area …

Are you sure that your HTML is correctly nested?


Rails Wheels - Find Plugins, List & Sell Plugins -
http://railswheels.com

I hope it was … finally I did a refactoring and changed the approach,
the problem is solved but I’m not sure where the problem was …

thanks,

r.


#4

Hi,

To update particular part of the page with new information, you can
use Ajax.Updater in .js file.