Andrew:
If you're using draggable_element, you'll give it a name. For
instance, if you had a big grid, you could use this for every x and y
value.
<%= draggable_element "location_1_1", :revert => true %>
This would be the draggable_element:
<div id="location_1_1">Drag Me</div>
You can use the same element as a receiver that responds with an
action when a draggable_element is dropped onto it:
<%= drop_receiving_element "location_1_1", :url => { :action =>
"update_location", :new_x => 1, :new_y => 1} %>
Then you can handle assigning the dragged (new) to dropped spot (old).
def update_location
div, @oldrow, @oldslot = params[:id].split("_")
@newrow, @newslot = params[:newrow], params[:newslot]
@newloc = Location.find_by_row_and_slot(@newrow, @newslot)
# do a page.redirect_to or page.update so show the updates we just
made
end
I've used this for about a year and it's pretty handy.
Hope this helps! Let me know if you have any questions.
-- Wes