Making a list of records refresh in order after a 'page.inse

Hi Everyone,

I’m working through a book that demonstrates using Ajax to add a new
record to a category. Just a single field, being a name is required.

I’ve applied it to a real app and it works OK except for one small
detail.

The add facility is on the same page as the list of existing
categories, & I made one change which is to display the existing
entries in name order. But when a new one is added it adds to the
bottom ( which is what it is told to do ), but I want the list to be
refreshed with the new item in it’s alphabetical position.

The only options for page.insert_html are: top, bottom, before and
after.

Here is the ‘new’ def:

def new
@make = Make.new(params[:make])
if @make.save
return if request.xhr?
render :partial => ‘make’, :object => @make
end
end

Here is the rjs code:

if @make.new_record?
page.alert @make.errors.full_messages.join("\n")
else
page.insert_html :bottom, ‘make_list’, :partial => ‘make’
page.visual_effect :highlight, “make_#{@make.id}”
page.form.reset ‘make_form’
end

( note: The book is using a ‘category’ table where my app is using a
‘make’ table )

Anyone know how to accomplish this ?

TIA - Dave P.

You could assign each row (whether it be li, or dd, or tr) with their
ID, and then in your ruby code find out where it should be, and
insert below that. The only thing I can think of in these wee hours.

Cheers,
Zach I.
→ Blog – http://www.zachinglis.com
→ Company – http://www.lt3media.com
→ Portfolio – http://portfolio.zachinglis.com

Thanks Zach,

Sounds a bit complicated for a newbie ! Not life threatening so I’ll
come back to it.

regards, Dave

dear sender,
i´m out of the office until may 29th.
your email will not be forwarded.
for urgent stuff please contact [email protected]
kind regards,
alexander