Я использую этот учебник, чтобы попытаться облегчить загрузку изображений с помощью редактора TinyMCE WYSIWYG в моем приложении rails 5.2.
До сих пор я реализовал весь код в учебнике и все работает отлично, но когда я пытаюсь загрузить изображение, я получаю сообщение об ошибке «Получен неверный ответ с сервера».
В моем heroku logs
я получаю следующее:
FATAL -- : [527c4468-9ebe-475a-97a9-380bfc327aab] ActionController::RoutingError (uninitialized constant #<Class:0x000055b6d991e020>::EditController
2020-02-22T17:34:07.814727+00:00 app[web.1]: Did you mean? DeviseController):
Вот маршрут, который я использую:
post '/tinymce_assets', to: 'article/edit#image_upload'
С этими методами контроллера:
def image_upload
file = params[:file]
url = upload_file(file)
render json: {
image: {
url: url
}
}, content_type: "text/html"
end
private
def upload_file(file)
s3 = Aws::S3::Resource.new(region:ENV['AWS_REGION'])
obj = s3.bucket(ENV['S3_BUCKET_NAME']).object('articles/images/content/' + filename(file))
obj.upload_file(file.tempfile, {acl: 'public-read'})
obj.public_url.to_s
end
def filename(file)
file.original_filename.gsub(/[^a-zA-Z0-9_\.]/, '_')
end
И это для его инициализации:
<%= f.text_area :body, class: "tinymce", rows: 20, cols: 120 %>
<%= tinymce :content_css => asset_path('application.css')%>
...
<script>
$(document).ready(function() {
tinymce.init({
selector: "textarea.tinymce", // change this value according to your HTML
});
});
</script>
Кто-нибудь может увидеть, где я здесь не так?