2012-05-02 5 views
5

Я снова встречаюсь с Rails, и мне очень нравится Active Admin. Я хотел бы получить tinyMCE работать с ним для использования в текстовых областях. Однако любые инструкции, которые я нахожу, являются неполными. По какой-то причине, я думаю, что мне не хватает чего-то действительно простого здесь.TinyMCE и ActiveAdmin для Rails

Так, например, у меня установлены tinymce-rails (3.4.9) и следуют инструкциям (https://github.com/spohlenz/tinymce-rails). Тем не менее, здесь я думаю, что я потерпел неудачу: фактически инициировал tinyMCE. Согласно документу, у меня есть два варианта:

  1. используют <% = TinyMCE%> помощница или ...
  2. инициализировать его как следующий tinyMCE.init({ mode: 'textareas', theme: 'advanced' });

Я попытался, добавив последнюю в мой файл active_admin.js бесполезен.

Если бы кто-нибудь мог направить меня на это, я был бы очень благодарен.

+0

второй должен работать обычно, вы получаете какие-либо js-ошибки? – Thariama

ответ

0

У вашего входа в textarea есть атрибут 'class' или что-то, что может подключить tinyMCE? Работает ли он с консоли javascript (firefox/chrome)? Вы проверили наличие tinymce.js в голове (источнике) вашей страницы.

Я получил его с частичной части формы, и мне пришлось дать класс входному элементу, чтобы tinymce мог подключиться к нему.

<%= f.input :literature_nld, :input_html => { :class => 'tinymce', :size => "80x4" } %> 

Успехов

+0

Спасибо. Ваш ответ вызвал еще одну мысль о том, был ли tinymce.js во главе моей страницы. Документация tinymce-rails была немного неясна в этом. Оказывается, добавив вызов в мой файл active_admin.rb, я смог его показать. Большое спасибо за вашу помощь! –

+0

Было бы неплохо, если бы вы приняли мой ответ, я должен был просто прокомментировать. –

13

Я получил это работает делать следующие вещи (за пределами установки описаны в repo)

В админ/my_class.rb:

ActiveAdmin.register MyClass do 
    form do |f| 
    f.inputs do 
     f.input :body, :input_html => { :class => "tinymce" } 
    end 
    end 
end 

В инициализаторы/active_admin.rb:

... 
config.register_javascript 'tinymce.js' 

Это было то, что фактически привело к тому, что скрипт tinymce.js появился в начале макета администратора.

В JavaScripts/active_admin.js:

//= require active_admin/base 
//= require tinymce 

$(document).ready(function() { 
    tinyMCE.init({ 
    mode: 'textareas', 
    theme: 'advanced' 
    }); 
}); 

После выполнения этих вещей, что вход тела (текстовая область) был полностью функционирующим редактор на нем.

+0

Хорошая документация. Работает с рельсами 3.2.13, active_admin 0.6.0 и tinymce-rails 3.5.8.2. – scarver2

+2

Добавьте 'editor_selector: 'tinymce'' в' tinyMCE.init', так что только специальные текстовые области имеют WYSIWYG-редактор. – scarver2