我正在尝试使用在我的应用程序中上传视频回形针 and jquery-文件上传-rails
我跟着使用回形针和 jquery 上传文件 https://5minutenpause.com/blog/2013/09/04/multiple-file-upload-with-jquery-rails-4-and-paperclip/上传视频,但就在我选择视频时上传视频,并且不等待按提交按钮,所以我遵循1 https://5minutenpause.com/blog/2013/09/04/multiple-file-upload-with-jquery-rails-4-and-paperclip/: jQuery 文件上传:是否可以使用提交按钮触发上传? https://stackoverflow.com/questions/10042184/jquery-file-upload-is-it-possible-to-trigger-upload-with-a-submit-button/16047861?noredirect=1#comment67623651_16047861选择单个视频并在提交按钮上上传,而不是在选择文件时上传。
但是我是否将提交按钮放在表单中还是外部表单中存在问题。
当我将提交按钮放在表单中时,它会向按下提交按钮发送两个请求,一个带有视频,第二个没有视频。
如果我将按钮放在表单之外,它会在按下提交按钮时发送一个请求,但在成功创建/更新后,它仍保留在同一页面上。
我想要的只是按下“提交”后,仅发送一个请求并在成功创建/更新时重定向到索引页面。
在_form.slim中
= simple_form_for [:admin,add] do |f|
.wizard-content
.row
.col-sm-6
= f.input :video, multiple: false, wrapper: :horizontal_file_input
button#submit_button.btn.btn-primary
| Save
在adds.coffee中
jQuery ->
$('#add_video').attr('name','add[video]')
$('#add_video').fileupload
$('#submit_button').off('click').on 'click', ->
data.submit()
在控制器中我有
def create
if add.save
redirect_to admin_adds_path
flash[:success]= "Add Created"
else
render :new
end
end
def update
if add.update(add_params)
redirect_to admin_adds_path
flash[:success]= "Add Updated"
else
render :edit
end
end
还有一个_add.slim
= image_tag(@add.uploaded_file(:small), class: 'thumb')
我还创建了 create.js.erb 和 edit.js.erb 作为我遵循的建议教程(尽管我不明白它的用途)
- if @add.new_record?
| alert('Failed');
- else
| if ($('h1') !== undefined) { $('h1').append("
=j render partial: 'adds/add', locals: { add: @add }
| "); }
这有什么问题吗?