Ruby on rails 表单(文件)上载后显示警报

Ruby on rails 表单(文件)上载后显示警报,ruby-on-rails,Ruby On Rails,我在http://localhost:3000/使用data remote='true',其目的是上载图像: <form class="carousel" enctype="multipart/form-data" action="/image_carousels/1" accept-charset="UTF-8" data-remote="true" method="post"> <input name="utf8" type="hidden" value="✓">

我在
http://localhost:3000/
使用data remote='true',其目的是上载图像:

<form class="carousel" enctype="multipart/form-data" action="/image_carousels/1" accept-charset="UTF-8" data-remote="true" method="post">
  <input name="utf8" type="hidden" value="✓">
  <input type="hidden" name="_method" value="patch"><input type="hidden" name="authenticity_token" value="...">
  <input type="file" name="image_carousel[image]">
  <button name="button" type="submit">Submit Image</button>
</form>

提交图像
控制器的行为就好像请求是针对html的一样。因此,如果我在image_carousels/update.html.erb中创建一个视图,如下所示:

<p>Image Uploaded!</p>
上传图像

这将显示在
http://localhost:3000/image_carousels/1

当我设置data remote='true'时,我不明白为什么会出现html响应,甚至会显示在新页面上

为什么会出现这种情况?在不更改页面的情况下,我如何:

  • 向用户显示一个简单的警报,告知图像已上载
  • 返回一些带有{message:“Image uploaded successfully”}的json,然后向用户显示消息(例如
  • 返回一些要在表单之后显示的html

  • (其中一些只是为了提高我的理解力)

    使用
    表单标签
    并给出
    remote:true
    示例

    在控制器中,做出如下响应

    respond_to do |format|
     format.js 
    end
    
    在视图
    upload.js.erb
    中创建文件,并在此文件中写入
    警报。试试这个,如果有,告诉我
    
    查询

    我已经生成的表单有什么问题?它上面有remote:true。是的,代码应该可以工作。但我们为什么要使用这种方法呢?我们有一个
    表单标签
    右侧。但是,如果您仍然想使用这种方法,那么请删除
    accept charset=“UTF-8”
    ,试一试。对不起,我应该澄清一下:我是使用表单生成上述表单的。显示控制器操作答案可能与无法异步上传文件有关。看见