---
title: "Using the TinyMCE package with the Ruby on Rails framework"
description: "A guide on integrating TinyMCE into the Ruby on Rails framework."
canonical_url: "https://www.tiny.cloud/docs/tinymce/latest/rails-third-party/"
md_url: "https://www.tiny.cloud/docs/tinymce/7/rails-third-party/index.md"
version: "7"
last_updated: "2022-03-31T00:32:33Z"
tokens: 908
---
Important This page documents TinyMCE 7. For new projects, Tiny recommends using the latest, most up-to-date version. [See TinyMCE 8 documentation](../../latest/rails-third-party/).
# Using the TinyMCE package with the Ruby on Rails framework

> **Important:** This Integration is maintained by a third-party developer. Tiny Technologies, Inc. bears no responsibility for this integration, which is not covered by the Tiny Self-Hosted Software License Agreement. For issues related to the integration, contact the third-party project directly.
Sam Pohlenz maintains the [TinyMCE Ruby on Rails gem](https://github.com/spohlenz/tinymce-rails) for integrating TinyMCE into the Ruby on Rails asset pipeline. This procedure creates a [basic Ruby on Rails application](https://guides.rubyonrails.org/getting_started.html) containing a TinyMCE editor based on our [Basic example](../basic-example/).

## Prerequisites

This procedure requires the following programs:

- [Node.js](https://nodejs.org/)
- [Yarn](https://yarnpkg.com/)
- [Ruby](https://www.ruby-lang.org/)
- [SQLite 3+](https://sqlite.org/index.html)
- [Ruby on Rails](https://rubyonrails.org/)

## Procedure

On a command line or command prompt:

1. Create a new Ruby on Rails project.

```sh
rails new myTinySite
```
2. Navigate into the project directory.

```sh
cd myTinySite/
```
3. Create a new Rails controller, such as:

```sh
rails generate controller Welcome index
```
This creates a controller named `Welcome` with an action named `index`.
4. Set the project home page to `index`.

  1. Using a text editor, open `config/routes.rb`, such as:

```sh
nano config/routes.rb
```
  2. Add `root 'welcome#index'` to set `index` as the project home page. For example:

```ruby
Rails.application.routes.draw do
  get 'welcome/index'

  root 'welcome#index'
end
```
5. Using a text editor, open the project `Gemfile` and add the line:

```sh
gem 'tinymce-rails'
```
Do not add this line within a `group` - `end` element.
6. Install the `tinymce-rails` gem using `bundle`:

```sh
bundle install
```
7. Create a TinyMCE configuration file.

  1. Create the `config/tinymce.yml` file:

```sh
touch config/tinymce.yml
```
  2. Add a TinyMCE configuration. The configuration must be in the [YAML format](https://yaml.org/spec/1.2/spec.html), such as:

```yml
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
```
8. Add the following lines within the `<head>` element of `app/views/layouts/application.html.erb` to automatically include TinyMCE on pages using the `application` layout:

```erb
<%= tinymce_assets %>
<script type="text/javascript" src="/assets/tinymce.js"></script>
```
9. Create a `<textarea>` with the initial content `Hello, World!` for TinyMCE by adding the following lines to `app/views/welcome/index.html.erb`:

```erb
<%= text_area_tag :content, "Hello, World!", :class => "tinymce" %>
<%= tinymce %>
```
10. On a command line, from the project’s root directory, start the Ruby on Rails server.

```sh
rails server
```
The page containing the TinyMCE will be accessible at `http://localhost:<port>/` (default: [http://localhost:3000/](http://localhost:3000/)).

For information on creating advanced configurations for the third-party TinyMCE Ruby on Rails integration, visit the project on GitHub: [Rails Integration for TinyMCE](https://github.com/spohlenz/tinymce-rails).
