Si quieres suscribirte al feed RSS del blog, este es el canal por defecto: http://www.nohaycuchara.com/feed/
Fasten seat belt while seated. Life vest under your seat.

Paperclip y sus interpolaciones

14/10/2009

Se da el caso en que a veces, cuando utilizamos Paperclip, necesitamos que el path de un mismo adjunto sea diferente según su origen. Esto viene bien para guardar su información relacionada en el mismo campo (MIME type, tamaño y nombre), pero flexibilizando al máximo su ubicación. Para ello, esta popular gema de Rails pone a nuestra disposición una característica muy útil: las interpolaciones.

Con ellas podemos mandar un parámetro extra (mediante un campo oculto, por ejemplo) al modelo para setear cualquier dato que necesitemos utilizar después.

PaperlipsPrimero, creamos un “initializer” con el siguiente contenido:

  1. Paperclip::Interpolations[:folder] = proc do |attachment,style|
  2.   attachment.instance.folder
  3. end

De esta manera estamos habilitando el uso de la palabra reservada “:folder” en la instrucción “has_attached_file“, así:

  1. has_attached_file :att, :path => ":folder/:id.:extension"

Comentarios:

  • Aquí no comenta ni Dios, ¿quieres ser tú el primero?

Di algo:

Smilies: ≈up≈ ≈puaj≈ ≈pirate≈ ≈oops≈ ≈muak≈ ≈mad≈ ≈love≈ ≈holy≈ ≈happy≈ ≈green≈ ≈down≈ ≈cry≈ ≈cool≈ ≈bff≈ ≈bad≈ ≈!≈ o_O O_O >< ;) :P :D :?: :-| :-? :) :( 8-O
Notas:
  • *: Campo requerido.
  • HTML desactivado.