我想根据它们是风景还是肖像来不同地处理图像。
这是我的图片上传器模型中的代码:
def is_landscape?
if @file
image = ::MiniMagick::Image.open(file)
Rails.logger.info "from in is_landscape? : #{image[:width] > image[:height]}"
image[:width] >= image[:height]
end
end
def is_portrait?
Rails.logger.info "from in is_portrait? : #{image[:height] > image[:width]}"
image[:height] > image[:width]
end
process :resize_to_fill => [667, 500], if: :is_landscape?
process :resize_to_fill => [500, 667], if: :is_portrait?
version :preview do
process :resize_to_fill => [380,285]
end
version :thumb do
process :resize_to_fill => [105,79], if: :is_landscape?
process :resize_to_fill => [105, 158], if: :is_portrait?
end
我收到错误
"ArgumentError (wrong number of arguments (1 for 0)): app/uploaders/image_path_uploader.rb:31:in `is_landscape?'"
我究竟做错了什么?