Flo*_*ian 2 ruby-on-rails-3 carrierwave
我想将图像裁剪为用户从列表中选择的大小(例如100x100px,200x200px,...)如何将该属性传递给上传器或从上传器中获取模型的属性?
从上传器中访问模型的属性如下所示不起作用:
version :thumb do
thumbnail_size = model.thumbnail_size
...
...
end
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
未定义的局部变量或方法`model'for#
谢谢!弗洛里安
为了能够访问模型的属性,我必须添加一个操作助手.
class MyUploader < CarrierWave::Uploader::Base
...
version :thumb do
process :custom_thumbnail
process :convert => 'jpg'
...
end
def custom_thumbnail
width = model.get_image_width
height = model.get_image_height
manipulate! do |img|
img.convert "#{width}x#{height}"
img
end
end
end
Run Code Online (Sandbox Code Playgroud)