サムネイル画像なし
この記事は旧KISANAブログのアーカイブです
環境
Ruby 3.0.2
Rails 6.1.4
EasyMDE 2.15.0
EasyMDEの導入
$yarn add easymde
/app/javascript/packs/application.js
require("easymde")
/app/javascript/packs/任意のファイル.js
import * as EasyMDE from 'easymde';
import "easymde/dist/easymde.min.css";
var easyMDE = new EasyMDE({
uploadImage: true,
imagePathAbsolute: true,
imageUploadEndpoint: '任意のエンドポイント',
showIcons: ['strikethrough', 'code', 'table', 'redo', 'heading', 'undo', 'heading-bigger', 'heading-smaller', 'heading-1', 'heading-2', 'heading-3', 'clean-block', 'horizontal-rule'],
element: document.getElementById('テキストエリアの任意のID')
});
詳細は公式READMEで。
Railsのエンドポイント
モデル作成
$rails g model attachment
/app/models/attachment.rb
has_one_attached :image
/app/controllers/任意のcontroller.rb
skip_before_action :verify_authenticity_token, only: :attach
def attach
attachment = Attachment.create! image: params[:image]
render json: { filename: url_for(attachment.image) }
end
/config/router.rb
post 'articles/attach', to: '任意のcontroller#attach'
忘れず
rails db:migrate
完成
文字を入れる空白部分に画像をドラッグアンドドロップすると非同期でアップロードされurlが帰ってきます。
Archive Capture
*画像は省略しています。
コメントを残す