I do an ajax post and serialize the form. Depending on whether it's an edit or a create, the form submission is either a put or a post. Rails do these RESTful request behind the scenes by generating a hidden input field with the name "_method" -- I felt it cleaner and less code by doing a route than to write code to remove that from the serialized data.