我刚将paperclip安装到我的应用程序中以上传图像,一切运行正常,直到我尝试添加样式以使图像调整大小。 (我可以在添加此代码之前上传图片)
on pins.rb:
has_attached_file :image, styles: { medium: "300x300>" }
然后我将该类添加到_pin.html.rb:
<td><%= image_tag pin.image(:medium) %></td>
但是现在,当我尝试上传图片时,我收到错误:
Paperclip::Errors::NotIdentifiedByImageMagickError
当我删除样式时,它工作正常(没有调整大小),但调整大小的东西搞砸了。我尝试了不同的文件类型和文件名。我在谷歌上搜索过这个错误,并且所有解决方案都不适合我。最受欢迎的是降级可卡因,但当我尝试它时,我收到了消息:
Bundler could not find compatible versions for gem "cocaine":
In Gemfile:
paperclip (~> 3.4.1) ruby depends on
cocaine (~> 0.5.0) ruby
cocaine (0.3.2)
我的rails服务器正在返回消息:
Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-03-22 21:50:05 -0400
Served asset /application.js - 304 Not Modified (1ms)
[2013-03-22 21:50:05] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
有任何帮助吗?如果有帮助的话,我会在https://github.com/jeremybelcher/omrails的github上找到它。
答案 0 :(得分:2)
要回答Rich Peck的问题,您不必直接将其添加到模型中 - 您可以将其添加到/config/environments/development.rb中。这样它只会影响您的开发版本,而不会影响您的生产版本。
所以在我的情况下,我刚刚添加了
Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.7-Q16'
到我的config / environments / development.rb文件的末尾,它就像一个魅力。
答案 1 :(得分:1)
完全相同的问题与相同的omrails分配 - 重新启动我的机器修复了我的问题。
答案 2 :(得分:0)
您可能尚未安装imagemagick,并且未在应用程序中指出它。
如documentation中所述:
必须安装ImageMagick并且Paperclip必须能够访问它。至 确保它在命令行上运行
which convert
(其中一个) ImageMagick实用程序)。这将为您提供路径 实用程序已安装。例如,它可能会返回 的/ usr / local / bin中/转换。在开发模式下,您可以将此行添加到 配置/环境/ development.rb):
Paperclip.options[:command_path] = "/usr/local/bin/"
答案 3 :(得分:0)
我遇到了这个问题,并通过在上传模型中添加 Paperclip.options[:command_path] = "YOUR_PATH_TO_IMAGE_MAGICK"
来解决此问题(在我的情况下是image.rb):
(Windows 7,Rails 4&amp; Ruby 2.0):
#Image Upload
has_attached_file :image,
:command_path => 'C:\RailsInstaller\ImageMagick',
:styles => { :medium => "x300", :thumb => "x100" },
:default_url => "xxxxx",
:storage => :s3,
:bucket => 'xxxxxx',
:s3_credentials => S3_CREDENTIALS
仍然致力于使其成为发展的条件。生产
答案 4 :(得分:0)
1-我有同样的问题,当我配置动态链接器运行时绑定以使用ldconfig command创建必要的链接并缓存到最新的共享库时,我解决了它。
所以你需要使用以下命令:
sudo ldconfig /usr/local/lib
实际上,我建议使用how-to-install-image-magick-and-setup-paperclip的步骤重新安装imagemagick。
2-您需要在development.rb
文件中添加以下代码:
Paperclip.options[:command_path] = "/usr/local/bin/"