Я нашел много похожих вопросов, но ни один пока не смог исправить мою ошибку.
В моем 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'
Это отправлено в моем шоу. 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), но он никогда не попадает в него.
Как только фотография завершает загрузку, я получаю страницу с ошибкой: «ActionController :: UnknownFormat in RecipesController # upload_photo» с выделением «response_to do | format |» строка.
Что происходит из-за того, что я не могу отобразить доступ к файлу upload_photo. js .erb?
Щелкнув по ошибке, я получаю сообщение Нет совпадений маршрута [GET] "/ recipes / 11 / upload_photo "error.
Любая помощь будет очень признательна! Пытаюсь исправить это уже пару дней.
Спасибо за внимание!