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

时间:2011-09-14 08:50:25

标签: ruby-on-rails editor wysiwyg image-uploading

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

我的回答: 现在我使用this editor,非常容易安装。

3 个答案:

答案 0 :(得分:6)

我正在使用带有gem 'tiny_mce'carrierwave的tinymce进行图片上传。 我对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非常好用且非常强大的所见即所得。

在评论部分中建议使用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 :(得分:1)

似乎tinymce肯定受到rails 3.1的支持。这是链接
http://rubygems.org/gems/tinymce-rails

您只需将以下内容添加到您的Gemfile

即可
gem 'tinymce-rails'

根据您是否要使用jquery,您可以使用以下选项添加到application.js

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

我个人选择了jquery,所以我将这一行添加到与我的控制器/视图对应的js.coffee文件中

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

如果您不想使用jquery,可以将此脚本添加到视图中

<script type="text/javascript">
  tinyMCE.init({
    mode: 'textareas',
    theme: 'advanced'
  });
</script>

答案 2 :(得分:0)

我遇到了tinymce和Rails资产管道问题。我还没有找到一种方法来增加字体大小。默认字体大小非常小。

如果您使用的是Twitter bootstrap,那么一个很棒的选择是:

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

如果你想要一些适用于HTML5的东西,我会选择:

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

真棒!