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