[ruby-it] Paperclip con modelli nidificati

Marco Mastrodonato m.mastrodonato a gmail.com
Gio 4 Mar 2010 12:32:52 CET


Se si rimane nello standard funziona, purtroppo io non riesco mai a far
parte dello standard ed ho questo grattacapo:

ho un modello lettera che può avere molti allegati. Il modello allegato
e formato da qualche campo più il file gestito con paperclip.

I file li salvo con un url e path personalizzato:
  has_attached_file :file,
    :url =>
"#{PREFIX}/assets/:letter_id_:id_:attachment_:basename.:extension",
    :path =>
":rails_root/public/assets/:letter_id_:id_:attachment_:basename.:extension"

ora la parte poco standard: per valorizzare quel :letter_id devo
aggiungere il token nell'interpolazione:

Paperclip::Attachment.interpolations[:letter_id] = proc do |attachment,
style|
  attachment.instance.letter.id
end

Ha sempre funzionato perchè gli allegati si aggiungevano dopo la
creazione della lettera.
Ora che sto implementando un'altra creazione (massiva) mi viene molto
comodo utilizzare i modelli nidificati. Tutto si svolge dentro il
letter.save e quando va ad "esplodere" quel token, l'oggetto letter non
ha ancora un id e viene sollevata un'eccezione. Mi chiedo perchè questo
viene fatto prima e non dopo quando avrei già l'id, qualcuno si è già
imbattuto o ha qualche idea?
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ml mailing list