2012-05-02 16 views
5

Me estoy volviendo a conectar con Rails y realmente me gusta Active Admin. Me gustaría que tinyMCE trabaje con él para utilizarlo en áreas de texto. Sin embargo, cualquier instrucción que encuentre está incompleta. Por alguna razón, creo que me falta algo muy simple aquí.TinyMCE y ActiveAdmin for Rails

Así que, por ejemplo, tengo tinymce-rails instalados (3.4.9) y seguí las instrucciones (https://github.com/spohlenz/tinymce-rails). Sin embargo, aquí es donde creo que fallé: en realidad, inicié tinyMCE. De acuerdo con el documento, tengo dos opciones:

  1. utilizan el <% =% tinymce> ayudante o ...
  2. inicializarlo como la siguiente tinyMCE.init({ mode: 'textareas', theme: 'advanced' });

He intentado añadir a este último mi archivo active_admin.js fue inútil.

Si alguien pudiera guiarme en esto, estaría muy agradecido.

+0

el segundo debería funcionar normalmente, ¿recibe algún error js? – Thariama

Respuesta

0

¿Sus entradas de texto tienen un atributo 'clase' o algo en lo que se puede enganchar tinyMCE? ¿Funciona desde la consola javascript (firefox/chrome)? ¿Has comprobado la presencia de tinymce.js en el encabezado (fuente) de tu página?

Lo obtuve trabajando con un formulario parcial, y tuve que dar una clase al elemento de entrada para que tinymce pudiera conectarlo.

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

Buena suerte

+0

Gracias. Tu respuesta provocó otro pensamiento acerca de si tinymce.js estaba o no en el encabezado de mi página. La documentación de los carriles de tinta no estaba nada clara al respecto. Resulta que al agregar una llamada a esto en mi archivo active_admin.rb, pude mostrarlo. ¡Muchas gracias por toda su ayuda! –

+0

Hubiera sido bueno, sin embargo, si hubiera aceptado mi respuesta, debería haber comentado. –

13

Lo tengo trabajo hacer las siguientes cosas (fuera de la instalación descrita en el repo)

En admin/my_class.rb:

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

En inicializadores/active_admin.rb:

... 
config.register_javascript 'tinymce.js' 

Esto fue lo que realmente hizo que el script tinymce.js apareciera en el encabezado del diseño de administrador.

En javascripts/active_admin.js:

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

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

Después de hacer esas cosas, que la entrada del cuerpo (área de texto) tenían un editor completamente funcional en él.

+0

Buena documentación. Funciona con los carriles 3.2.13, active_admin 0.6.0 y tinymce-rails 3.5.8.2. – scarver2

+2

Agregue 'editor_selector: 'tinymce'' a' tinyMCE.init' para que solo las áreas textareas específicas tengan el editor WYSIWYG. – scarver2