0
Comment puis-je faire quelque chose à l'intérieur du modèle en fonction de la création ou de la mise à jour d'un enregistrement? Je suis sûr que c'est vraiment simple, mais je n'arrive pas à le comprendre.Router les rappels de modèle
Il existe différents styles de mise à jour ou de création de pièces jointes avec un trombone.
class Photo < ActiveRecord::Base
belongs_to :product
#after_upate :flag_somthin
Paperclip.interpolates :product_id do |attachment, style|
attachment.instance.product_id
end
has_attached_file :data,
:storage => 's3',
:s3_credentials => "#{RAILS_ROOT}/config/s3_credentials.yml",
:bucket => 'leatherarts.com',
:s3_host_alias => 'leatherarts.com.s3.amazonaws.com',
:url => ':s3_alias_url',
:path => "images/products/:product_id/:style/:basename.:extension",
:styles => lambda { |style| style.instance.choose_styles },
:default_style => :medium,
:default_url => 'http://leatherarts.com.s3.amazonaws.com/images/records/m1.png',
:s3_headers => { 'Expires' => 2.months.from_now.httpdate }
validates_attachment_presence :data
validates_attachment_size :data, :less_than => 10.megabytes
validates_attachment_content_type :data, :content_type => ['image/jpeg','image/gif','image/png']
def choose_styles
{ :thumb => "60x60#", :small => "200x200>", :medium => "400x400>", :large => "1000x1000>", :backup => "2000x2000>" }, :on => :create
{ :thumb => "60x60#", :small => "200x200>", :medium => "400x400>", :large => "1000x1000>" }, :on => :update
end
end
ouais, c'est ce que je fais normalement, mais je ne suis pas sûr de savoir comment l'accomplir dans ce cas, je mis à jour ma question avec plus de détails. – holden
J'ai mis à jour ma réponse pour mieux répondre à la question. – tjwallace
Pourquoi voudriez-vous que la photo originale soit préservée grâce à plusieurs mises à jour? Cela ressemble à ce qu'il devrait être stocké dans un enregistrement différent. – klochner