2016-06-29 7 views
0

Я строю простую CMS в Ruby on Rails, и я решил использовать редактор WYSIWYG с подсветкой синтаксиса, поэтому я выбрал TinyMCE. Хотя, пытаясь использовать его, я столкнулся с несколькими проблемами:Редактор TinyMCE не инициализирует

Проблема с первым заключается в том, что у меня была ошибка при попытке запустить тестовый блог с моей CMS. Во-первых я включил

s.add_dependency "tinymce-rails" 

в mycms.gemspec и побежал

$ bundle install 

Затем я добавил

//= require tinymce 

линии в application.js в моей CMS. Но когда я включил плагин CMS (который поставляется как отдельный камень) в свой тестовый блог, я не смог добраться до панели администратора из-за ошибки - Rails не смог найти tinymce, и мне нужно включить gem tinymce-rails также в мой тест Gemfile приложения, чтобы заставить его работать. (Та же проблема у меня с gem bootstrap-sass - только после включения его в Gemfile приложения он работал, хотя он присутствовал в mycms.gemspec

Второй проблема в том, что сам редактор не инициализирует и не отображается .. в моей странице Итак, вот сама форма:

<%= form_for (@entry, as: :entry, url: entries_path) do |f| %> 
    <p> 
    <%= f.label :title %> <br/> 
    <%= f.text_field :title %> 
    </p> 
    <% @entry.class.content_attributes.each do |attr_name, attr_type| %> 
    <p> 
     <%= f.label :title %><br /> 
     <%= f.text_area attr_name, as: attr_type, class:"tinymce", rows:"40", cols:"120" %> 
    </p> 
    <% end %> 
<% end %> 
<%= tinymce %> 

И TextArea просто не хватает, я попробовал все варианты - включен

//= require tinymce 

или

//= require tinymce-jquery 

как в тест приложения application.js или CMS, application.js, а также добавление

<%= tinymce_assets %> 

непосредственно в начале формы, но ни один из этих вариантов не работает. Что я пропустил или сделал неправильно?

Полный код моего CMS доступен на Github

ответ

1

Если вы не добавили этот код яваскрипта, попробуйте добавить следующее:

$(document).ready(function() { 
    return tinymce.init({ 
    selector: 'textarea', 
    height: 100, 
    width: 550, 
    menubar: false, 
    plugins: ['image', 'charmap', 'uploadimage'], 
    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link uploadimage | charmap ', 
    theme: 'modern', 
    relative_urls: false, 
    remove_script_host: false, 
    document_base_url: (!window.location.origin ? window.location.protocol + '//' + window.location.host : window.location.origin) + '/', 
    setup: function(ed) { 
     ed.on('init', function() { 
     ed.getDoc().body.style.fontSize = '14px'; 
     }); 
     ed.on('change', function() { 
     ed.save(); 
     }); 
    } 
    }); 
}); 
+0

спасибо! должен ли я добавить его в форму '.erb' или непосредственно в' application.js'? – AlexNikolaev94

+0

Лучше добавить файл application.js. – Siddhanth

Смежные вопросы