我可以使用什么样的wysiwyg编辑器来支持图像上传器的rails 3.1应用程序?

zol*_*ter 5 wysiwyg ruby-on-rails editor image-uploading

我尝试了这个编辑器,但收到了很多错误,可能存在一些编辑器,我可以轻松安装和更新图像.

我的回答:现在我使用这个编辑器,非常容易安装.

Mik*_*kin 6

我使用tinymce与宝石'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"
  })
}
Run Code Online (Sandbox Code Playgroud)

重要的是image_list_admin_static_images_url我的路线:

resources :static_images do
      get :image_list, :on => :collection
end
Run Code Online (Sandbox Code Playgroud)

StaticImagesController中的方法如下所示:

 def image_list
    @image_list = "var tinyMCEImageList = #{StaticImage.image_list.to_json}"
    render :js => @image_list
 end
Run Code Online (Sandbox Code Playgroud)

在位于模型中的image_list方法中:

 def self.image_list
    all.map{ |im| [im.alt, im.image.url] }
 end
Run Code Online (Sandbox Code Playgroud)

这个设置对我来说非常合适,您需要根据自己的需要进行自定义.希望这会帮助你.TinyMCE是非常好的和强大的所见即所得的编辑器.

正如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"