嘿伙计们我的模型中有以下代码
要求'RMagick'
class Upload<的ActiveRecord :: Base的 belongs_to:卡
has_attached_file :photo,
:styles => {
:thumb => ["100x100", :jpg],
:pagesize => ["500x400", :jpg],
},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":attachment/:id/:style.:extension",
:bucket => 'your_deck',
:default_style => :pagesize
attr_accessor :x1, :y1, :width, :height
def update_attributes(att)
scaled_img = Magick::ImageList.new(self.photo.path)
orig_img = Magick::ImageList.new(self.photo.path(:original))
scale = orig_img.columns.to_f / scaled_img.columns
args = [ att[:x1], att[:y1], att[:width], att[:height] ]
args = args.collect { |a| a.to_i * scale }
orig_img.crop!(*args)
orig_img.write(self.photo.path(:original))
self.photo.reprocess!
self.save
super(att)
end
端
这段代码离线工作但是当在Heroku上使用Amazon S3时它无法正常工作,我已尝试使用to_file进行代码并且它也无法正常工作
我收到以下错误
无法将Array转换为String
答案 0 :(得分:0)
我遇到了同样的问题,这是由于回形针update造成的。我很惊讶heroku仍在使用这个宝石版本,因为它肯定会影响他们的所有用户;我安装了以前的版本作为插件,没关系。不要忘记从.gems文件中删除gem或在gems清单中指定以前的版本。