簡體   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