【问题标题】:ROR + CKEditor + PaperClip: uploading files with cyrillic namesROR + CKEditor + PaperClip:上传带有西里尔文名称的文件
【发布时间】:2013-11-14 07:34:57
【问题描述】:
在我的 rails 应用程序中有一个 CKEditor 可以使用 Paperclip 和 Active Record。效果很好,但是:
上传文件名中包含西里尔字母的文件时,西里尔字母会被剪切(例如,“документ_1_15.doc”变为“_1_15.doc”)。直接使用 Paperclip 上传图像时不会发生这种情况。
我试图查看 CKeditor 代码以获得答案,但由于 CKEditor 已作为引擎安装到应用程序中,因此找不到任何内容。
附言对不起,也许是一个新手问题——这是我在 StackOverflow 上的第一个问题。谢谢!
【问题讨论】:
标签:
ruby-on-rails
ckeditor
cyrillic
【解决方案1】:
找到了稍微更改 CKEditor gem 文件的解决方案。
问题出在 gem 的 /lib/ckeditor/utils.rb 文件 (/home/user/.rvm/gems/ruby-2.0.0-p247/gems/) 中的 [basename.parameterize('_'), extension].join.downcase 字符串中ckeditor-4.0.6/lib/ckeditor/utils.rb 在我的情况下)。不幸的是 Ruby 的 parametrize 函数拒绝西里尔符号,所以我不得不更改为 [basename.gsub(/\s/,'_'), extension].join.downcase 并且它停止减少西里尔字母。