Какой редактор wysiwyg я могу использовать для своего приложения rails 3.1 с поддержкой загрузки изображений? - PullRequest
5 голосов
/ 14 сентября 2011

Я попробовал этот редактор , но получил много ошибок, возможно, существует какой-то редактор, который я могу легко установить и обновить изображения.

Мой ответ: теперь я использую этот редактор, очень прост в установке.

Ответы [ 3 ]

6 голосов
/ 14 сентября 2011

Я использую tinymce с gem 'tiny_mce' и carrierwave для загрузки изображения. Моя настройка для tinymce следующая:

$(function() {
  tinyMCE.init({
    mode: "textareas",
    editor_deselector: "plain",
    theme: "advanced",
    plugins: "advimage,inlinepopups,save,autosave",
    external_image_list_url: '#{image_list_admin_static_images_url}',
    relative_urls: false,

    theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect",
    theme_advanced_buttons22: "",
    theme_advanced_buttons3: "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_blockformats: "p,h2,h3,h4"
  })
}

Важная часть image_list_admin_static_images_url в моих маршрутах:

resources :static_images do
      get :image_list, :on => :collection
end

Метод в StaticImagesController выглядит следующим образом:

 def image_list
    @image_list = "var tinyMCEImageList = #{StaticImage.image_list.to_json}"
    render :js => @image_list
 end

А в методе image_list, расположенном в модели:

 def self.image_list
    all.map{ |im| [im.alt, im.image.url] }
 end

Эта настройка отлично работает для меня, и вам нужно настроить ее под свои нужды. Надеюсь, что это поможет вам. TinyMCE - действительно хороший и мощный редактор wysiwyg.

Как chech предложено в разделе комментариев, вот как вы можете настроить это решение для использования с active_admin:

Чтобы использовать его внутри активного администратора, просто замените маршрут на этот: match "admin/model_name/:id/js_image_list", :action => "js_image_list", :controller => "admin/model_name". Затем создайте действие с именем js_image_list внутри активного файла модели администратора. Конфигурация для tinyMCE.init: external_image_list_url : "js_image_list"

1 голос
/ 21 октября 2011

Кажется, что tinymce определенно поддерживается рельсами 3.1.Вот ссылка
http://rubygems.org/gems/tinymce-rails

Все, что вам нужно сделать, это добавить следующее в ваш Gemfile

gem 'tinymce-rails'

У вас есть следующие опции для добавления в application.js в зависимости отхотите ли вы использовать jquery или нет

//= require tinymce-jquery
//= require tinymce

Лично я выбрал jquery, поэтому добавил эту строку в файл js.coffee, соответствующий моему контроллеру / view

tinyMCE.init
  mode: 'textareas',
  theme: 'advanced'

Если вы неЕсли вы не хотите использовать jquery, вы можете просто добавить этот скрипт к вашему виду

<script type="text/javascript">
  tinyMCE.init({
    mode: 'textareas',
    theme: 'advanced'
  });
</script>
0 голосов
/ 28 октября 2012

У меня были проблемы с Tinymce и Rails.Я также не нашел способ запустить tinymce с увеличенным размером шрифта.Размер шрифта по умолчанию очень маленький.

Если вы используете загрузчик Twitter, один фантастический вариант:

https://github.com/jhollingworth/bootstrap-wysihtml5

Если вы хотите что-то, что работает с HTML5, я быперейти с:

http://jejacks0n.github.com/mercury/

Круто!

...