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'

0 ответов

Другие вопросы по тегам