[英]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.