Rails 4 - Tinymce Amazon S3 - изображения в посте не загружаются
У меня есть некоторые изображения, встроенные в пост (это текстовая область с редактором tinymce). Эти изображения успешно загружены в Amazon S3 через Paperclip. Я вижу, что пост показывает контур изображения, встроенный в текст, но я не могу отобразить его на посте, и изображение повреждено.
Кто-нибудь может подсказать, как мне вывести изображения с S3 на пост? Ошибка, как показано ниже.
ActionController::RoutingError (No route matches [GET] "/posts/:id/undefined")...
как исправить проблему с маршрутизацией
Я читал о некоторых драгоценных камнях elfinder и imagemagick. Я не имею их. Они ответственны? Или мне нужно прикрепить модель поста к модели изображения с ограничением внешнего ключа.
_form.html.erb
<%= simple_form_for @post, html: { multipart: true } do |f| %>
<%= f.input :content, as: :text, label: false, placeholder: "Add content", input_html: {class: "tinymce" } %>
<%= f.button :submit, class: 'btn btn-success btn-block'%>
<% end %>
tinymce.yml
theme: "modern"
width: "300"
height: "500"
theme_advanced_toolbar_location: top
theme_advanced_toolbar_align: left
theme_advanced_statusbar_location: bottom
theme_advanced_buttons3_add:
- tablecontrols
- fullscreen
- uploadimage, image
plugins:
- table
- fullscreen
- textcolor
- colorpicker
- codesample
- uploadimage
- link
toolbar:
- styleselect | bold italic | undo redo | uploadimage | link | codesample | forecolor | backcolor
alternate:
selector: -textarea.table-editor
relative_urls: false
tinymcecontroller.rb
class TinymceAssetsController < ApplicationController
respond_to :json
def create
geometry = Paperclip::Geometry.from_file params[:file]
image = Image.create params.permit(:file, :alt, :hint)
render json: {
image: {
height: geometry.height.to_i,
width: geometry.width.to_i
}
}, content_type: "text/html"
end
end
routes.rb
resources :posts
post '/tinymce_assets' => 'tinymce_assets#create'
конфиг / окружающая среда / development.rb
config.serve_static_files = true
#S3 with paperclip settings
config.paperclip_defaults = {
storage: :s3,
s3_host_name: 's3-eu-west-2.amazonaws.com',
s3_credentials: {
bucket: 'projDB',
access_key_id: 'aaa',
secret_access_key: 'xxx',
s3_region: 'eu-west-2'
}
}
Gemfile.rb
gem 'tinymce-rails'
gem 'tinymce-rails-imageupload', github: 'PerfectlyNormal/tinymce-rails-imageupload'