1
resposta

Cadastro de produtos com imagens

Estou utilizando o Paperclip com Imagemagic, e gostaria de informações sobre como cadastrar imagens no banco de dados, ou como trabalhar com imagens em uma loja virtual por exemplo.


caminho app\models\product.rb

class Product < ActiveRecord::Base
  has_attached_file :avatar, styles: { medium: "180x180>", thumb: "96x96>" },
                    :path => ':rails_root/public/avatars/:id-:basename-:style.:extension',
                    :url => '/avatars/:id-:basename-:style.:extension'
  validates_attachment_content_type :avatar, :content_type => /\Aavatar\/.*\Z/

  validates_attachment :avatar,
                       :presence => true, 
                       :content_type => { :content_type => /avatars/ }
   attr_accessor :avatar_content_type
   validates_attachment :avatar, :presence => true, :size => { :in => 0..3.megabytes }
   attr_accessor :avatar_file_size
   validate :file_dimensions, :unless => 'errors.any?'

def file_dimensions
  if avatar.size
    dimensions = Paperclip::Geometry.from_file(avatar.queued_for_write[:original].path)
    if dimensions.width < 90 || dimensions.height < 90
    errors.add(:avatar,'deve ter no minimo 120px de largura por 90px de altura')
   end
   end
end

end
1 resposta

Oi Angela, tudo bem? Pelo que li na documentação, na sua configuração atual, o Paperclip vai salvar sua imagem no sistema de arquivos e guardar o endereço dela no atributo avatar da sua classe produto. (https://github.com/thoughtbot/paperclip)

Do jeito que está, você não deveria ter problemas, está acontecendo algum erro?