您的代码不错,但是对于 ajax来说 ,
- 您需要添加
remote=true
到表单中。
<%= form_for(@image,:html=>{:id=>"your_form_id",:multipart =>true,:remote=>true}) do |f |%>- 此外,在服务器端, 您需要在其中创建一个js.erb 文件,
views/users/show_updated_view.js.erb
以将其作为js调用 而非 NOT html调用来回复浏览器,因此需要向用户显示表单提交后发生了某些事情(成功/错误)(如果其users_controller
),
因此,在您的操作中,您需要执行以下操作:
respond_to do |format| format.js { render 'users/show_updated_view'} end- 在中
show_updated_view.js.erb
,您应该通过隐藏整个表单/重置表单或将表单替换为新的div(表示数据已更新)来更新视图,以使用户知道该视图已更新或表单已成功提交。任何直观的方法虽然有很多方法:)。
//这里我用div替换了整个表格
$("#your_form_id").html("<div><p>You have submitted the formsuccessfully.</p></div>");视图的名称可以是任何名称,但是您需要兼顾成功和失败。



