Code Monkey home page Code Monkey logo

rails_kindeditor's Introduction

Kindeditor for Ruby on Rails Gem Version

Kindeditor is a WYSIWYG javascript editor, visit http://www.kindsoft.net for details. rails_kindeditor will helps your rails app integrate with kindeditor, includes images and files uploading.

rails_indeditor

Installation and usage

Add this to your Gemfile

  gem 'jquery-rails'
  gem 'rails_kindeditor'

notice: Rails 5.1 has dropped dependency on jQuery from the default,but rails_kindeditor need 'jquery-rails'.

Run "bundle" command.

  bundle

Run install generator:

  rails g rails_kindeditor:install

notice: rails_kindeditor needs applications.js in your project.

Production mode

Precompiling assets no longer automatically copies non-JS/CSS assets from vendor/assets and lib/assets. see rails/rails#7968 please run 'rails kindeditor:assets', this method just copy kindeditor into public folder.

  rails kindeditor:assets

Usage:

  1. <%= kindeditor_tag :content, 'default content value' %>
     # or <%= kindeditor_tag :content, 'default content value', :width => 800, :height => 300 %>
     # or <%= kindeditor_tag :content, 'default content value', :allowFileManager => false %>
  2. <%= form_for @article do |f| %>
       ...
       <%= f.kindeditor :content %>
       # or <%= f.kindeditor :content, :width => 800, :height => 300 %>
       # or <%= f.kindeditor :content, :allowFileManager => false %>
       ...
     <% end %>

You can use kindeditor's initial parameters as usual, please visit http://www.kindsoft.net/docs/option.html for details.

additionally, rails_kindeditor provides one "simple_mode" parameter for render simple mode quickly.

simple mode

  kindeditor_tag :content, 'default content value', :simple_mode => true
  f.kindeditor :content, :simple_mode => true
  f.input :content, :as => :kindeditor, :input_html => { :simple_mode => true } # simple_form & formtastic

That's all.

Work with Turbolinks5

Create a file app/assets/javascripts/load_kindeditor.coffee

  # coffeescript code
  $(document).on 'turbolinks:before-cache', ->
    KindEditor.remove('.rails_kindeditor')

  $(document).on 'turbolinks:load', ->
    $('.rails_kindeditor').each ->
      KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300'

simple mode

  # coffeescript code
  $(document).on 'turbolinks:before-cache', ->
    KindEditor.remove('.rails_kindeditor')

  $(document).on 'turbolinks:load', ->
    $('.rails_kindeditor').each ->
      KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300', "items":["fontname","fontsize","|","forecolor","hilitecolor","bold","italic","underline","removeformat","|","justifyleft","justifycenter","justifyright","insertorderedlist","insertunorderedlist","|","emoticons","image","link"]

Make sure the file is loaded from your app/assets/javascripts/application.js

Include javascript files at bottom ? Not in the head tag ? How can I load kindeditor correctly ?

For some reasons, you includes javascript files at bottom in your template, rails_kindeditor provides a options for lazyload:

  <%= f.kindeditor :content, :window_onload => true %>

Warning: Kindeditor will be load when the others have been loaded.

SimpleForm and Formtastic integration

simple_form:

  <%= form.input :content, :as => :kindeditor %>
  # or
  <%= form.input :content, :as => :kindeditor, :label => false, :input_html => { :width => 800, :height => 300 } %>

formtastic:

  <%= form.input :content, :as => :kindeditor %>
  # or
  <%= form.input :content, :as => :kindeditor, :input_html => { :height => 300 } %>

How to get kindeditor's content

  <%= form_for @article do |f| %>
    <%= f.kindeditor :content, :editor_id => 'my_editor' %>
  <% end %>

You can get content like this:

  // Javascript code
  my_editor.html();

Upload options configuration

When you run "rails generate rails_kindeditor:install", installer will copy configuration files in config/initializers folder. You can customize some option for uploading.

  # Specify the subfolders in public directory.
  # You can customize it , eg: config.upload_dir = 'this/is/my/folder'
  config.upload_dir = 'uploads'

  # Allowed file types for upload.
  config.upload_image_ext = %w[gif jpg jpeg png bmp]
  config.upload_flash_ext = %w[swf flv]
  config.upload_media_ext = %w[swf flv mp3 wav wma wmv mid avi mpg asf rm rmvb]
  config.upload_file_ext = %w[doc docx xls xlsx ppt htm html txt zip rar gz bz2]

  # Porcess upload image size, need mini_magick
  #     before    => after
  # eg: 1600x1600 => 800x800
  #     1600x800  => 800x400
  #     400x400   => 400x400 # No Change
  # config.image_resize_to_limit = [800, 800]

Asset host options configuration

  # if you have config in your rails application like this:
  # /config/enviroments/production.rb
  #   # config.action_controller.asset_host = "http://asset.example.com"
  #   # config.assets.prefix = "assets_prefx"
  # then you should:
  #
  config.asset_url_prefix = "http://asset.example.com/assets_prefx/" if Rails.env.production?

Save upload file information into database(optional)

rails_kindeditor can save upload file information into database.

Just run migration generate, there are two ORM options for you: 1.active_record 2.mongoid, default is active_record.

  rails generate rails_kindeditor:migration
  or
  rails generate rails_kindeditor:migration -o mongoid

The generator will copy model and migration to your application. When you are done, remember run rake db:migrate:

  rake db:migrate

Delete uploaded files automatically (only for active_record)

You can specify the owner for uploaded files, when the owner was destroying, all the uploaded files(belongs to the owner) will be destroyed automatically.

###1. specify the owner_id for kindeditor

   <%= form_for @article do |f| %>
     ...
     <%= f.kindeditor :content, :owner => @article  %>
     ...
   <% end %>
Warnning: the @article must be created before this scene, the @article.id should not be empty.

###2. add has_many_kindeditor_assets in your own model

  class Article < ActiveRecord::Base
    has_many_kindeditor_assets :attachments, :dependent => :destroy
    # has_many_kindeditor_assets :attachments, :dependent => :nullify
    # has_many_kindeditor_assets :your_name, :dependent => :destroy
  end

###3. relationship

  article = Article.first
  article.attachments # => the article's assets uploaded by kindeditor
  asset = article.attachments.first
  asset.owner # => aritcle

If you're using mongoid, please add 'gem "carrierwave-mongoid"' in your Gemfile

  gem 'carrierwave-mongoid'

License

MIT License.

Kindeditor for Ruby on Rails 中文文档

Kindeditor是国产的所见即所得javascript富文本编辑器, 访问 http://www.kindsoft.net 获取更多信息. rails_kindeditor可以帮助你的rails程序集成kindeditor,包括了图片和附件上传功能,文件按照类型、日期进行存储。

安装及使用

将下面代码加入Gemfile:

  gem 'jquery-rails'
  gem 'rails_kindeditor'

注意:Rails 5.1 已没有将jQuery作为默认设置,但rails_kindeditor需要'jquery-rails'.

运行"bundle"命令:

  bundle

安装Kindeditor,运行下面的代码:

  rails g rails_kindeditor:install

注意: 在你的工程中需要有application.js文件。

Production mode

Precompiling assets不再自动从vendor/assets和lib/assets拷贝非JS/CSS文件. 参见 rails/rails#7968 如果要使用生产模式,请运行'rails kindeditor:assets', 此方法可将kindeditor自动拷贝到你的public/assets目录.

  rails kindeditor:assets

使用方法:

  1. <%= kindeditor_tag :content, 'default content value' %>
     # or <%= kindeditor_tag :content, 'default content value', :width => 800, :height => 300 %>
     # or <%= kindeditor_tag :content, 'default content value', :allowFileManager => false %>
  2. <%= form_for @article do |f| -%>
       ...
       <%= f.kindeditor :content %>
       # or <%= f.kindeditor :content, :width => 800, :height => 300 %>
       # or <%= f.kindeditor :content, :allowFileManager => false %>
       ...
     <% end -%>

你可以像往常那样使用kindeditor自身的初始化参数,请访问 http://www.kindsoft.net/docs/option.html 查看更多参数。

另外,rails_kindeditor还额外提供一个"simple_mode"参数,以便快捷使用简单模式的kindeditor。

  kindeditor_tag :content, 'default content value', :simple_mode => true
  f.kindeditor :content, :simple_mode => true
  f.input :content, :as => :kindeditor, :input_html => { :simple_mode => true } # simple_form & formtastic  

完毕!

如何在Turbolinks5下使用

创建如下文件 app/assets/javascripts/load_kindeditor.coffee

  # coffeescript code
  $(document).on 'turbolinks:before-cache', ->
    KindEditor.remove('.rails_kindeditor')

  $(document).on 'turbolinks:load', ->
    $('.rails_kindeditor').each ->
      KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300'

简单编辑模式

  # coffeescript code
  $(document).on 'turbolinks:before-cache', ->
    KindEditor.remove('.rails_kindeditor')

  $(document).on 'turbolinks:load', ->
    $('.rails_kindeditor').each ->
      KindEditor.create "##{$(this).attr('id')}", "allowFileManager": true, "uploadJson": $(this).data('upload'), "fileManagerJson": $(this).data('filemanager'), "width": '100%', "height": '300', "items":["fontname","fontsize","|","forecolor","hilitecolor","bold","italic","underline","removeformat","|","justifyleft","justifycenter","justifyright","insertorderedlist","insertunorderedlist","|","emoticons","image","link"]

请确保以上文件被app/assets/javascripts/application.js正确加载

把javascript放在模板最下方,不放在head里面,如何正确加载kindeditor?

有时候,为了加快页面载入速度,也许你会把javascript引用放在template的底部,rails_kindeditor提供了一个参数可以确保正常加载:

  <%= f.kindeditor :content, :window_onload => true %>

警告:Kindeditor会在页面所有的内容加载完毕后才进行加载,所以需谨慎使用

SimpleForm与Formtastic集成:

simple_form:

  <%= form.input :content, :as => :kindeditor, :label => false, :input_html => { :width => 800, :height => 300 } %>

formtastic:

  <%= form.input :content, :as => :kindeditor %>
  <%= form.input :content, :as => :kindeditor, :input_html => { :height => 300 } %>

如何获取kindeditor的内容

  <%= form_for @article do |f| %>
    <%= f.kindeditor :content, :editor_id => 'my_editor' %>
  <% end %>

可通过下面的Javascript代码获取内容:

  // Javascript code
  my_editor.html();

上传图片及文件配置

当你运行"rails generate rails_kindeditor:install"的时候,安装器会将配置文件拷贝到config/initializers文件夹。 你可以配置以下上传选项:

  # 指定上传目录,目录可以指定多级,都存储在public目录下.
  # You can customize it , eg: config.upload_dir = 'this/is/my/folder'
  config.upload_dir = 'uploads'

  # 指定允许上传的文件类型.
  config.upload_image_ext = %w[gif jpg jpeg png bmp]
  config.upload_flash_ext = %w[swf flv]
  config.upload_media_ext = %w[swf flv mp3 wav wma wmv mid avi mpg asf rm rmvb]
  config.upload_file_ext = %w[doc docx xls xlsx ppt htm html txt zip rar gz bz2]

  # 处理上传文件,需要mini_magick
  #     处理以前      => 处理以后
  # eg: 1600x1600 => 800x800
  #     1600x800  => 800x400
  #     400x400   => 400x400 # 图片小于该限制尺寸则不作处理
  # config.image_resize_to_limit = [800, 800]

静态资源地址配置

  # if you have config in your rails application like this:
  # /config/enviroments/production.rb
  #   # config.action_controller.asset_host = "http://asset.example.com"
  #   # config.assets.prefix = "assets_prefx"
  # then you should:
  #
  config.asset_url_prefix = "http://asset.example.com/assets_prefx/" if Rails.env.production?

将上传文件信息记录入数据库(可选)

rails_kindeditor 可以将上传文件信息记录入数据库,以便扩展应用.

运行下面的代码,有两项选项:1.active_record 2.mongoid,默认是active_record。

  rails generate rails_kindeditor:migration
  or
  rails generate rails_kindeditor:migration -o mongoid

运行下面的代码:

  rake db:migrate

自动删除上传的文件(仅在active_record下工作)

你可以为上传的文件指定归属,比如一名用户,或者一篇文章,当用户或者文章被删除时,所有属于该用户或者该文章的上传文件将会被自动删除。

###1. 为kindeditor指定owner_id

   <%= form_for @article do |f| %>
     ...
     <%= f.kindeditor :content, :owner => @article  %>
     ...
   <% end %>
警告: @article应该事先被创建,@article.id不应该是空的。

###2. 在你自己的模型里加入has_many_kindeditor_assets

  class Article < ActiveRecord::Base
    has_many_kindeditor_assets :attachments, :dependent => :destroy
    # has_many_kindeditor_assets :attachments, :dependent => :nullify
    # has_many_kindeditor_assets :your_name, :dependent => :destroy
  end

###3. 相互关系

  article = Article.first
  article.attachments # => the article's assets uploaded by kindeditor
  asset = article.attachments.first
  asset.owner # => aritcle

如果你使用的是mongoid, 请在你的Gemfile里加入'gem "carrierwave-mongoid"'

  gem 'carrierwave-mongoid'

License

MIT License.

rails_kindeditor's People

Contributors

laliwa avatar macrow avatar roclv avatar sunny0425 avatar yfractal avatar zhangyuan avatar zmbacker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rails_kindeditor's Issues

百度地图

楼主,百度地图该更新啦,你引用的地图JS文件该更新到4.0版本了

Bootstrap 下IE图片尺寸问题

< !DOCTYPE HTML>
< html>
< head>
< link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.css" >
< /head>
< body>

< a href="/sa">saasa
< !-- 这图片在IE下尺寸不由width和height控制,该怎么处理呢?
< img src="0.jpg" width="400" height="266"/>

< /body>
< /html>

"No such file or directory" when upload image

平台:Windows7 Rails3.2.1 Ruby1.9.3
在上传图片时,如果设置 config.image_resize_to_fit 后(注释这行配置后正常),就会出现如下错误:

No such file or directory -identify -ping C:User/gxlonlie/AppData/Local/Temp/minimagick20121102-5152-110hon7.png

在错误信息所指的目录有相应的图片,development.log里所指的文件也有。

development.log

Started POST "/kindeditor/upload?dir=image" for 127.0.0.1 at 2012-11-02 23:02:45 +0800
DEPRECATION WARNING: Calling set_table_name is deprecated. Please use self.table_name = 'the_name' instead. (called from class:Asset at D:/WorkSpace/Sites/huatixiu/app/models/kindeditor/asset.rb:2)
Processing by Kindeditor::AssetsController#create as HTML
Parameters: {"localUrl"=>"C:\fakepath\123.png", "imgFile"=>#<ActionDispatch::Http::UploadedFile:0x4d5b588 @original_filename="123.png", @content_type="image/png", @headers="Content-Disposition: form-data; name="imgFile"; filename="\xE4\xB8\x8A\xE4\xBC\xA0\xE9\x94\x99\xE8\xAF\xAF.png"\r\nContent-Type: image/png\r\n", @tempfile=#File:C:/Users/GXLONL~1/AppData/Local/Temp/RackMultipart20121102-5152-y6e4rn>, "dir"=>"image"}
Rendered text template (0.0ms)
Completed 200 OK in 400ms (Views: 32.2ms | ActiveRecord: 36.1ms)

rails_kindeditor使用turbolinks

打开turbolinks时,rails_kindeditor要刷新一下才显示出来,不知这个问题有什么解决方案,要手写js?

如何获取编辑框里的内容?

我查看了生成后的源代码,发现是用了iframe,请问我要提交的时候,怎么获取编辑框里的内容?

我用 form 表单直接提交也不行,试着用jquery去获取也不行!!

求楼主帮帮忙!!!

编码问题

Hi Macrow,

app/assets/javascripts/MSClass.js has a invalid UTF-8 byte sequence

新手,不知道问的问题是不是因为kindeditor产生的

上传图片发现没有route

上传本地图片时出现了这个...

No route matches [POST] "/cnkindeditor/upload"

<%= form_for @Product..... %>
<%= f.kindeditor :description, :editor_id => 'my_editor' %>
<% end %>

环境 rails 3.2.12, mongoid, carrierwave 0.6.2, carrierwave-mongoid, i18n

正常应该是/cn/kindeditor/upload, 现在post的是 /cnkindeditor/upload. 直接把 /cn 粘在一起了.

IE 8下加载失败

不知为什么,IE9下和Chrome是正常的,就是IE8失败了。
直到今天才有同事反映这个问题,暂时没有定位到问题所在。
我已使用了

RAILS_ENV=production rake assets:precompile
rake kindeditor:assets

assets_controller.rb, upload path problem?

rails_kindeditor的assets_controller.rb:
def list
@root_path = Rails.public_path + "/uploads/kindeditor/"
@root_url = "/uploads/kindeditor/"
......
end

我要改成这样,才能在文件浏览那里看到上传了的文件

你原本是
def list
@root_path = Rails.public_path + "/uploads/"
@root_url = "/uploads/"
......
end

不知道是不是我配置的问题还是什么

License missing from gemspec

RubyGems.org doesn't report a license for your gem. This is because it is not specified in the gemspec of your last release.

via e.g.

  spec.license = 'MIT'
  # or
  spec.licenses = ['MIT', 'GPL-2']

Including a license in your gemspec is an easy way for rubygems.org and other tools to check how your gem is licensed. As you can imagine, scanning your repository for a LICENSE file or parsing the README, and then attempting to identify the license or licenses is much more difficult and more error prone. So, even for projects that already specify a license, including a license in your gemspec is a good practice. See, for example, how rubygems.org uses the gemspec to display the rails gem license.

There is even a License Finder gem to help companies/individuals ensure all gems they use meet their licensing needs. This tool depends on license information being available in the gemspec. This is an important enough issue that even Bundler now generates gems with a default 'MIT' license.

I hope you'll consider specifying a license in your gemspec. If not, please just close the issue with a nice message. In either case, I'll follow up. Thanks for your time!

Appendix:

If you need help choosing a license (sorry, I haven't checked your readme or looked for a license file), GitHub has created a license picker tool. Code without a license specified defaults to 'All rights reserved'-- denying others all rights to use of the code.
Here's a list of the license names I've found and their frequencies

p.s. In case you're wondering how I found you and why I made this issue, it's because I'm collecting stats on gems (I was originally looking for download data) and decided to collect license metadata,too, and make issues for gemspecs not specifying a license as a public service :). See the previous link or my blog post about this project for more information.

upload errors

My os is ubuntu 11.10
when upload file have a error:

translation missing: zh.errors.messages.extension_white_list_error

not working well with mongoid

I'm working on rails(3.2.6), mongoid(3.0.5), carrierwave(0.6.2), carrierwave-mongoid(0.1.0).
I followed your guidance after installing rails_kineditor, when I start service using thin(1.4.1), the following error MSG appears:
undefined method 'collection_name=' for Kindeditor::Asset:Class.
Then I checked there are several model include Kindeditor::Asset in my apps,
Why would I see such MSG?
Thx!

多图片上传显示失败,单个图片上传成功

这个是上传多个图片时的log,失败

Started POST "/kindeditor/upload?dir=image" for 127.0.0.1 at 2013-08-19 21:23:30 +0800
Processing by Kindeditor::AssetsController#create as HTML
  Parameters: {"Filename"=>"2c7c2d0ae5b27e5db628f71449b1f951.jpg", "imgFile"=>#<ActionDispatch::Http::UploadedFile:0x007fc2025b6bb8 @tempfile=#<Tempfile:/var/folders/nj/bbd26pcd72bdtpd6n4dkd5b00000gn/T/RackMultipart20130819-11357-553tli>, @original_filename="2c7c2d0ae5b27e5db628f71449b1f951.jpg", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"imgFile\"; filename=\"2c7c2d0ae5b27e5db628f71449b1f951.jpg\"\r\nContent-Type: application/octet-stream\r\n">, "Upload"=>"Submit Query", "dir"=>"image"}
Completed 401 Unauthorized in 1ms

这个是上传1个图片时的log,成功

Started POST "/kindeditor/upload?dir=image" for 127.0.0.1 at 2013-08-19 21:24:46 +0800
Processing by Kindeditor::AssetsController#create as HTML
  Parameters: {"localUrl"=>"C:\\fakepath\\1 copy.jpg", "imgFile"=>#<ActionDispatch::Http::UploadedFile:0x007fc2060bb330 @tempfile=#<Tempfile:/var/folders/nj/bbd26pcd72bdtpd6n4dkd5b00000gn/T/RackMultipart20130819-11357-9f9sb8>, @original_filename="1 copy.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"imgFile\"; filename=\"1 copy.jpg\"\r\nContent-Type: image/jpeg\r\n">, "dir"=>"image"}
  User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 ORDER BY `users`.`id` ASC LIMIT 1
  Rendered text template (0.0ms)
Completed 200 OK in 10ms (Views: 0.5ms | ActiveRecord: 0.5ms)

图片的resize不起作用

我已经在配置文件里设置成config.image_resize_to_limit = [500, 500], 但上传的图片还是没有被切割,我还需要做什么做?

突然出现Can't verify CSRF token authenticity的错误

ruby 2.0.0 rails 3.2.13

Started POST "/kindeditor/upload?dir=image" for 127.0.0.1 at 2013-03-21 12:16:37 +0800
Processing by ExceptionsController#render_not_found as HTML
Parameters: {"localUrl"=>"C:\fakepath[AllCDCovers]_coldplay_mylo_xyloto_2011_retail_cd-front.jpg", "imgFile"=>#<ActionDispatch::Http::UploadedFile:0x007fdd604d6080 @original_filename="[AllCDCovers]_coldplay_mylo_xyloto_2011_retail_cd-front.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name="imgFile"; filename="[AllCDCovers]_coldplay_mylo_xyloto_2011_retail_cd-front.jpg"\r\nContent-Type: image/jpeg\r\n", @tempfile=#Tempfile:/var/folders/mp/k5dn7wcs3rd_74cg5jw1rpn00000gn/T/RackMultipart20130321-8467-lbuyfa>, "dir"=>"image", "a"=>"kindeditor/upload"}
WARNING: Can't verify CSRF token authenticity

从0.3.14版本升级后,出现加载不到/assets/themes/default/default.css的错误

昨天把gem从0.3.14进行了升级,从浏览器访问时发现有两个资源加载不到,一个是“assets/themes/default/default.css”,另外个是“/assets/lang/zh_CN.js?ver=4.1.7%20(2013-04-21)”。
有两个疑问,第一个是浏览器请求的资源文件从命令上看是没有precompile的?第二个是访问的路径貌似不对,服务器上这两文件的路径是在"/assets/kindeditor/"这个目录下面。

Customize upload path

Hi, I'm using your gem and want to build saving path depends on assets type and user_id.
Could I wrote some additional parameters to Kindeditor::Image, Kindeditor::Media, etc. or create own controller inherited from Kindeditor::AssetsController with some overriden methods?

rails generate rails_kindeditor:migration 默认为mongoid

  1. 不知道为什么,之前一直默认为active_record,但这次没有填写-o,发现直接生成的app/models/kindeditor/assert.rb默认用的是mongoid
  2. 使用mongoid时, rake db:migrate出错:No such file to load -- carrierwave/orm/mongoid
    搜索后为文件:/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/asset.rb中的
    carrierwave/orm/mongoid 现在改写为carrierwave/mongoid
    参考:carrierwaveuploader/carrierwave-mongoid#9
    没有试,可以参考一下

补充:
依赖包:carrierwave安装后出错
Invalid gemspec in [~/.rvm/gems/ree-1.8.7-2011.03/specifications/carrierwave-0.6.2.gemspec]: Illformed requirement ["#YAML::Syck::DefaultKey:0x718a860d0a98 1.1.4"]
解决方案:Open .../specifications/carrierwave-0.6.2.gemspec in an editor, and remove all instances of #YAML::Syck::DefaultKey:0x718a860d0a98.

http://stackoverflow.com/questions/10528043/bundle-install-errors-on-carrierwave-gem

Can not render kindeditor with simple_form

rails3.2.1 / simple_form 2.0.1

gem 'rails_kindeditor', '~> 0.3.0'

// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
//= require kindeditor

<%= simple_form_for @post, :url => "/posts", :html => {:class => 'form-stacked, new-share'} do |f| -%>  
    <%= f.error_notification %>
    <%= hidden_field_tag :type, params[:type] %>
    <%= f.input :title, :class=>'xlarge', :label => '标题' %>
    <%= f.input :body, :as => :kindeditor, :label => false, :input_html => { :width => 400, :height => 300 } %>
    <%= f.input :tag_list, :class=>'input_field', :label => "标签" %>
    <div class="actions">
        <%= f.submit "Save", :class=>'btn primary' %>&nbsp;<button class="btn" type="reset">Cancel</button>
    </div>
<% end %>

求救。

你好,我使用了kind-editor,我的步骤就是按照说明使用的,kind-editor可以在页面出现,但是就是不能够上传图片,点击上传本地图片时,出现下面的错误:
NameError in Kindeditor::AssetsController#create

uninitialized constant Asset

错误log为
Started POST "/kindeditor/upload?dir=image" for 127.0.0.1 at 2013-05-10 11:00:05 +0800
Processing by Kindeditor::AssetsController#create as HTML
Parameters: {"localUrl"=>"C:\fakepath\Screenshot from 2013-04-27 11:54:54.png", "imgFile"=>#<ActionDispatch::Http::UploadedFile:0xca4b8dc @original_filename="Screenshot from 2013-04-27 11:54:54.png", @content_type="image/png", @headers="Content-Disposition: form-data; name="imgFile"; filename="Screenshot from 2013-04-27 11:54:54.png"\r\nContent-Type: image/png\r\n", @tempfile=#File:/tmp/RackMultipart20130510-2931-1fw3l2s>, "dir"=>"image"}
ManagerUser Load (2.3ms) SELECT "MANAGER_USERS".* FROM "MANAGER_USERS" WHERE "MANAGER_USERS"."LOGIN_NAME" = 'admin' AND ROWNUM <= 1
Completed 500 Internal Server Error in 9ms

NameError (uninitialized constant Asset):
config/initializers/quiet_assets.rb:6:in `call_with_quiet_assets'

Rendered /home/sunny/.rvm/gems/ruby-1.9.3-p392/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.0ms)
Rendered /home/sunny/.rvm/gems/ruby-1.9.3-p392/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.0ms)
Rendered /home/sunny/.rvm/gems/ruby-1.9.3-p392/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (7.6ms)

请问如何解决,谢谢~

[Rails 4.0.0.rc1]uninitialized constant Kindeditor::Asset::AssetUploader

RAILS_ENV=production rake db:migrate
rake aborted!
uninitialized constant Kindeditor::Asset::AssetUploader
/var/www/htdocs/dglbxxoa/app/models/kindeditor/asset.rb:3:in <class:Asset>' /var/www/htdocs/dglbxxoa/app/models/kindeditor/asset.rb:1:in<top (required)>'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/engine.rb:465:in block (2 levels) in eager_load!' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/engine.rb:464:ineach'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/engine.rb:464:in block in eager_load!' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/engine.rb:462:ineach'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/engine.rb:462:in eager_load!' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/engine.rb:347:ineager_load!'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application/finisher.rb:56:in each' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application/finisher.rb:56:inblock in module:Finisher'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/initializable.rb:30:in instance_exec' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/initializable.rb:30:inrun'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/initializable.rb:55:in block in run_initializers' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/initializable.rb:54:inrun_initializers'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application.rb:214:in initialize!' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/railtie/configurable.rb:30:inmethod_missing'
/var/www/htdocs/dglbxxoa/config/environment.rb:5:in <top (required)>' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application.rb:188:inrequire_environment!'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application.rb:248:in block in run_tasks_blocks' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:246:incall'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:246:in block in execute' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:241:ineach'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:241:in execute' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:184:inblock in invoke_with_call_chain'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:177:in invoke_with_call_chain' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:205:inblock in invoke_prerequisites'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:203:in each' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:203:ininvoke_prerequisites'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:183:in block in invoke_with_call_chain' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:177:ininvoke_with_call_chain'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/task.rb:170:in invoke' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:143:ininvoke_task'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:101:in block (2 levels) in top_level' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:101:ineach'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:101:in block in top_level' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:110:inrun_with_threads'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:95:in top_level' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:73:inblock in run'
/usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:160:in standard_exception_handling' /usr/local/rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/application.rb:70:inrun'
/usr/local/rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in eval' /usr/local/rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in

'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

kindeditor-init.js define uploadJson problem

i think use

#kindeditor/kindeditor-init.js
...
uploadJson: "/kindeditor/upload?"
...

and

#kindeditor/plugins/image/image.js
...
url : uploadJson + '&dir=image' 
...

if so, post authenticity_token is very easy
example:

#kindeditor/kindeditor-init.js
...
uploadJson: "/kindeditor/upload?" + encodeURIComponent($("[name='csrf-param']").attr("content")) + "=" + encodeURIComponent($("[name='csrf-token']").attr("content"))
...

firefox 下无法正常显示

配置: windows Xp, rails 4.0.0, ruby 2.0.0p0, ie8下显示正常,但是firefox下必须按F5手工刷新页面才能显示。

显示不出上传的图片

今天用了你的插件,了解了下,感觉kindeditor很强大,然后你自己增了方法,方便了我们直接使用
但是有个问题:我上传的图片成功后,不会自动显示到文本域中,然后查看远程服务器,也没浏览到图片,不知道是我不了解怎么使用还是有bug,所以资讯那你下
谢谢

where is view helper?

The README say, I can use form.input 'content', :as => :kindeditor
but it donot work..

env

ruby 1.9.3p125
rails 3.2.2
rails_kindedtor 0.3.9

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.