Summernote Rails 使用教程

Summernote Rails 使用教程

summernote-railsTo gemify the summernote WYSIWYG editor for Rails >= 3.1项目地址:https://gitcode.com/gh_mirrors/su/summernote-rails

项目介绍

Summernote Rails 是一个用于将 Summernote WYSIWYG 编辑器集成到 Ruby on Rails 应用中的 gem。Summernote 是一个基于 Bootstrap 的超简单 WYSIWYG 编辑器。这个 gem 旨在为 Rails 3.1 及以上版本的应用提供 Summernote 编辑器的资产打包。

项目快速启动

安装步骤

  1. 将以下 gem 添加到你的应用的 Gemfile 中:

    gem 'rails'
    gem 'jquery-rails'
    gem 'bootstrap'
    gem 'simple_form'
    gem 'summernote-rails', '~> 0.8.16.0'
    
  2. 执行 bundle 安装:

    $ bundle install
    
  3. 如果你使用 simple_form 和 bootstrap,你应该在终端中执行以下命令:

    $ rails generate simple_form:install --bootstrap
    
  4. 特别是如果你想使用 Bootstrap 版本 4,你应该创建 config/initializers/simple_form_bootstrap4.rb,你可以参考这个仓库中的示例项目。

配置 Summernote

在你的应用中,添加以下代码到你的视图中:

<div data-provider="summernote"></div>

然后在你的 JavaScript 文件中初始化 Summernote:

$('[data-provider="summernote"]').each(function() {
  $(this).summernote({
    lang: 'ko-KR',
    height: 300,
    toolbar: [
      ['insert', ['hello']]
    ]
  });
});

应用案例和最佳实践

插入和删除图片

在 Summernote 编辑器中,你可以轻松地插入和删除图片。以下是一个示例:

  1. 插入图片:

    $('#summernote').summernote('insertImage', url, filename);
    
  2. 删除图片:

    $('#summernote').summernote('removeMedia');
    

自定义工具栏

你可以自定义 Summernote 的工具栏,添加或删除按钮:

$('#summernote').summernote({
  toolbar: [
    ['style', ['style']],
    ['font', ['bold', 'italic', 'underline', 'clear']],
    ['color', ['color']],
    ['para', ['ul', 'ol', 'paragraph']],
    ['insert', ['link', 'picture', 'video']],
    ['view', ['fullscreen', 'codeview', 'help']]
  ]
});

典型生态项目

集成 Active Storage

Summernote Rails 可以与 Rails 的 Active Storage 集成,以便直接上传图片到你的应用中。以下是一个示例:

  1. 配置 Active Storage:

    # config/routes.rb
    Rails.application.routes.draw do
      resources :notes do
        member do
          post :upload_image
        end
      end
    end
    
  2. 在控制器中处理上传:

    # app/controllers/notes_controller.rb
    class NotesController < ApplicationController
      def upload_image
        @note = Note.find(params[:id])
        @note.images.attach(params[:file])
        render json: { url: url_for(@note.images.last) }
      end
    end
    
  3. 在视图中配置 Summernote 上传功能:

    $('#summernote').summernote({
      callbacks: {
        onImageUpload: function(files) {
          sendFile(files[0]);
        }
      }
    });
    
    function sendFile(file) {
      var formData = new FormData();
      formData.append('file', file);
      $.ajax({
        data: formData,
        type: 'POST',
        url: '/notes/' + $('#note_id').val() + '/upload_image',
        cache: false,
        contentType: false,
        processData: false,
        success: function(data) {
          $('#summernote').summernote('insertImage', data.url);
        }
      });
    }
    

通过以上步骤,你可以将 Summernote Rails

summernote-railsTo gemify the summernote WYSIWYG editor for Rails >= 3.1项目地址:https://gitcode.com/gh_mirrors/su/summernote-rails

weixin151云匹面粉直供微信小程序+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰书唯Elise

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值