此集成由第三方开发者维护。Tiny Technologies, Inc. 对此集成不承担责任,该集成不受 Tiny Self-Hosted Software License Agreement(Tiny 自托管软件许可协议)的覆盖。有关集成的问题,请直接联系第三方项目。

Sam Pohlenz 维护 TinyMCE Ruby on Rails gem,用于将 TinyMCE 集成到 Ruby on Rails 资源管道中。本过程会创建一个包含基于我们 基本示例 的 TinyMCE 编辑器的 基本 Ruby on Rails 应用程序。

先决条件

本过程需要以下程序:

过程

在命令行或命令提示符下:

  1. 创建一个新的 Ruby on Rails 项目。

    rails new myTinySite
  2. 进入项目目录。

    cd myTinySite/
  3. 创建一个新的 Rails 控制器,例如:

    rails generate controller Welcome index

    这将创建一个名为 Welcome 且操作名为 index 的控制器。

  4. 将项目主页设置为 index。

    1. 使用文本编辑器打开 config/routes.rb,例如:

      nano config/routes.rb
    2. 添加 root 'welcome#index' 以将 index 设置为主页。例如:

      Rails.application.routes.draw do
        get 'welcome/index'
      
        root 'welcome#index'
      end
  5. 使用文本编辑器打开项目的 Gemfile 并添加该行:

    gem 'tinymce-rails'

    不要将此行添加到 group - end 元素内。

  6. 使用 bundle 安装 tinymce-rails gem:

    bundle install
  7. 创建 TinyMCE 配置文件。

    1. 创建 config/tinymce.yml 文件:

      touch config/tinymce.yml
    2. 添加 TinyMCE 配置。配置必须采用 YAML 格式,例如:

      license_key: gpl
      height: 500
      menubar: false
      toolbar:
        - undo redo | blocks | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | removeformat | help
      plugins:
        - insertdatetime lists media table code help wordcount
      gpl 许可证密钥适用于在 GNU General Public License (GPL) 下自托管 TinyMCE。若要使用商业许可证或包含高级插件,请将 gpl 替换为有效的许可证密钥。详细信息,请参见 设置许可证。
  8. 在 app/views/layouts/application.html.erb 的 <head> 元素内添加以下行,以便在使用 application 布局的页面上自动包含 TinyMCE:

    <%= tinymce_assets %>
    <script type="text/javascript" src="/assets/tinymce.js"></script>
  9. 通过在 app/views/welcome/index.html.erb 中添加以下行,创建一个初始内容为 Hello, World! 的 <textarea> 供 TinyMCE 使用:

    <%= text_area_tag :content, "Hello, World!", :class => "tinymce" %>
    <%= tinymce %>
  10. 在命令行中,从项目的根目录启动 Ruby on Rails 服务器。

    rails server

包含 TinyMCE 的页面将在 http://localhost:<port>/(默认:http://localhost:3000/)处可访问。

有关创建第三方 TinyMCE Ruby on Rails 集成的高级配置的详细信息,请访问 GitHub 上的项目:TinyMCE 的 Rails 集成。