繁体   English   中英

Rails 6.0.1 中 Ajax 请求的 ActionController::UnknownFormat 错误

[英]ActionController::UnknownFormat error with Ajax request in Rails 6.0.1

我发现了许多类似的问题,但到目前为止还没有一个能够解决我的错误。

在我的 recipes.show.html.haml 文件中,我有

= simple_form_for @recipe, url: upload_photo_recipe_url, remote: true do |f|
  = f.file_field :photo, id: 'photo-uploader', class: 'd-none'
  = f.submit id: 'submit-photo', class: 'd-none'

这是在我的 show.js 文件中提交的

$('#photo-uploader').change(function() {
  $(`#edit_recipe_${recipeId}`).submit()
})

我想要的是在完成上传后显示这张照片而不刷新页面,所以在 recipes_controller.rb 中有

def upload_photo
  @recipe = Recipe.find(params[:id])
  if @recipe.update(recipe_params)
    respond_to do |format|
      format.js
    end
  else

  end
end

预期的行为是然后运行 upload_photo.js.erb 文件(当前仅包含一个 console.log),但它永远不会到达那里。

照片上传完成后,我得到一个错误页面:“RecipesController#upload_photo 中的 ActionController::UnknownFormat”,突出显示“respond_to do |format|” 线。

我无法显示到upload_photo.js.erb 文件的问题是什么?

单击错误,我得到一个 No route matches [GET] "/recipes/11/upload_photo" 错误。

任何帮助将非常感激。 这几天我一直在尝试解决这个问题。

谢谢阅读!

问题出在我的 show.js function 中的中间线:

$('#photo-uploader').change(function() {
  $(`#edit_recipe_${recipeId}`).submit()
})

通过将我的 show.js 更新为“单击”表单,如

$('#photo-uploader').change(function() {
  $('#submit-photo').click()
})

照片上传后,我通过了我的 upload_photo.js.erb 文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM