ROR + CKEditor + PaperClip:上传带有西里尔文名称的文件

时间:2013-11-14 07:34:57

标签: ruby-on-rails ckeditor cyrillic

我的rails应用程序中有一个CKEditor使用Paperclip和Active Record。很好地工作但是:

上传文件名中包含西里尔字母的文件时,正在剪切西里尔字母(例如“документ_1_15.doc”变为“_1_15.doc”)。使用Paperclip直接上传图像时,不会发生这种情况。 我试着查看CKeditor代码以获得答案,但由于CKEditor作为引擎被安装到应用程序中,因此无法找到任何内容。

P.S。对不起,也许是一个新手问题 - 这是我在StackOverflow上的第一个问题。谢谢!

1 个答案:

答案 0 :(得分:0)

找到了更改CKEditor gem文件的解决方案。

问题出在gem的/lib/ckeditor/utils.rb文件中的[basename.parameterize('_'), extension].join.downcase字符串中(/home/user/.rvm/gems/ruby-2.0.0-p247/在我的例子中,gems / ckeditor-4.0.6 / lib / ckeditor / utils.rb)。不幸的是,Ruby的参数化函数拒绝了西里尔符号,因此我不得不改为[basename.gsub(/\s/,'_'), extension].join.downcase并停止减少西里尔字母。