rails g scaffold Post title:string description:text image1:string image2:string image3:string image4:string image5:string image6:string image7:string image8:string image9:string
rails g model Image data:string
# Added polymorphic reference to Image
rails g scaffold News title:string description:text
post = Post.find_or_create_by title: 'A post'
post.image1 = File.open Rails.root.join( 'lib', 'image1.jpg' )
post.save
MiniMagick (requires ImageMagick)
gem 'mini_magick'
process resize_to_fit: [100, 100] # resize (dimensions may be less than required)
process resize_to_fill: [100, 100] # crop image
process resize_and_pad: [100, 100] # extend image
RMagick (requires ImageMagick)
gem 'rmagick'
process resize_to_fit: [100, 100] # resize (dimensions may be less than required)
process resize_to_fill: [100, 100] # crop image
process resize_and_pad: [100, 100] # extend image
CarrierWave Vips (requires LibVips)
gem 'carrierwave-vips'
def resize_and_pad(new_width, new_height, opts = {})
manipulate! do |image|
image = resize_image(image,new_width,new_height)
image.embed ( new_width - image.width ) / 2, ( new_height - image.height ) / 2, new_width, new_height, opts
end
end
process resize_to_fit: [100, 100] # resize (dimensions may be less than required)
process resize_to_fill: [100, 100] # crop image
process resize_and_pad: [100, 100, :background => [0, 128, 192]] # extend image
CarrierWave ImageOptimizer (requires jpegoptim optipng pngquant)
gem 'carrierwave-imageoptimizer'
process optimize: [{ quality: 50 }]
post = Post.find_or_create_by title: 'A post'
post.build_extra_image data: File.open( Rails.root.join( 'lib', 'image1.jpg' ) )
post.save
# post.extra_image.data.url
news = News.find_or_create_by title: 'A news'
news.build_extra_image data: File.open( Rails.root.join( 'lib', 'image1.jpg' ) )
news.save
# news.extra_image.data.url