首页 文章

尝试在带有carrierwave和MiniMagick的Rails ckeditor插件中使用上传的图像文件

提问于
浏览
1

我正在尝试使用Carrierwave和MiniMagic从rails 3.2.1 app中的ckeditor gem上传文件 .

我在OSX 10.6上

我使用宝石附带的生成器来生成模型和上传者,即

rails生成ckeditor:install --orm = active_record --backend = carrierwave

当我单击按钮将图像文件发送到服务器时,我收到以下错误(在服务器输出中):

Errno :: ENOENT(没有这样的文件或目录 - 识别-ping / var / folders / wK / wKG0M7udG5K7cAjGxTF86k TI / -Tmp- / mini_magick20120303-72546-1sg4xlv.jpeg):

它似乎期望tmp文件位于该位置,但它将它们放在public / uploads / tmp中(文件在此之后仍然存在) .

如果我关闭MiniMagick(通过在ckeditor_picture_uploader中注释掉include并删除调整大小代码),我会得到一个不同的错误:

ArgumentError(版本内容不存在!):app / models / ckeditor / asset.rbin url'app / models / ckeditor / picture.rb:5:inurl_content'

在后一种情况下,文件实际上最终在public / uploads目录中,但由于以下原因,我仍然无法使用它:

如果我只是打开图像链接对话框并按“浏览服务器”,我也会得到“版本内容不存在”错误(意思是我一按下按钮就得到错误,而不是在我选择文件后,我由于错误而无法做到) .

我没有修改由生成器创建的asset.rb和picture.rb .

任何帮助,将不胜感激 .

3 回答

  • 0

    查看此链接底部的解决方案:

    https://github.com/jnicklas/carrierwave/issues/345

    我的问题只是通过安装ImageMagick来解决(正如其他人提到的那样),但有些人说添加:

    ENV['PATH'] = "/usr/local/bin:#{ENV['PATH']}"
    

    到application.rb修复了问题 .

  • 1

    正如Maran所说,你需要安装ImageMagick . 在我看来,Homebrew是迄今为止安装ImageMagick最简单的方法,我强烈推荐它 .

  • 0

    我想你需要重新安装imagemagick .

    要安装的命令

    brew install imagemagick
    

相关问题