Rails 5 ajax上传文件的remotipart不起作用(作为HTML而不是JS发送)。
问题描述:
在Rails 5中,使用ajax上传文件时,使用remotipart gem可能会遇到问题,即无法正常工作。具体表现为,文件以HTML形式而不是JS形式发送到服务器。
解决方案:
bundle install
命令来安装gem。remote: true
选项。例如:<%= form_with(model: @model, remote: true) do |form| %>
<!-- 表单字段 -->
<% end %>respond_to
和format.js
来处理JS响应。例如:def create
@model = Model.new(model_params)
respond_to do |format|
if @model.save
format.html { redirect_to @model, notice: 'Model was successfully created.' }
format.js # 处理JS响应
else
format.html { render :new }
format.js # 处理JS响应
end
end
endremote: true
选项来触发ajax提交。例如:<%= form.submit "Submit", remote: true %>推荐的腾讯云相关产品:
腾讯云对象存储(COS):腾讯云提供的高可用、高可靠、低成本的云端存储服务,适用于存储和处理大规模非结构化数据,如图片、音视频、文档等。详情请参考:腾讯云对象存储(COS)
腾讯云云服务器(CVM):腾讯云提供的灵活可扩展的云服务器,可满足各种规模和业务需求。详情请参考:腾讯云云服务器(CVM)
腾讯云云数据库MySQL版:腾讯云提供的高性能、可扩展的云数据库服务,适用于各种规模的应用程序。详情请参考:腾讯云云数据库MySQL版
请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和情况进行。
领取专属 10元无门槛券
手把手带您无忧上云