我正在将我的应用程序升级到 Ruby 1.9 上的 Rails 3.2。我不得不放弃attachment_fu
。Carrierwave 似乎是明显的替代品。在这个阶段,我正在将文件上传到文件系统(还没有云文件)。
我在 Lion,XCode 4.3.2,安装了命令行工具。跑步:
$ brew doctor
# Your system is raring to brew.
我可以在此配置中上传和调整图像大小:
- 导轨 3.1.4
- 红宝石 1.8.7
- 载波 0.5.8
- mini_magick 3.4
我可以在新配置中上传图片:
- 导轨 3.2.3
- 红宝石 1.9.3(或 1.9.2)
- 载波 0.6.2
(后跟$ bundle update
),但使用调整大小会mini_magick
返回此错误消息:
"File Failed to manipulate with MiniMagick, maybe it is not an image Original Error: MiniMagick::Invalid", where File is the carrierwave uploader.
FileUploader 包含:
include CarrierWave::MiniMagick
def store_dir .. end # the shipped default
process :resize_to_limit => [500, 600]
我的 Attachment 类(带有mount_uploader :file, FileUploader
)是 、 和其他附件类的父Portrait
类ReferenceLetter
。每个附件类都继承自Attachment
、 is:polymorphic => true
和belongs_to :attachable
(User) ,而后者又继承自has_many :portraits
、:reference_letters
等:as => :attachable
。
这些都不起作用(从carrierwave的已知问题页面链接):
我不想按照这里的建议手动安装 ImageMagick:
carrierwave + mini_magick gems = 不是图像错误
我正在使用自制软件。帮助会很棒。谢谢。