Pregunta

Actualmente estoy usando el impresionante archivo adjunto-fu plugin para Rails app, pero como un desarrollador novato, nunca he encontrado un escenario como el que me he encontrado en.

Esencialmente, estoy usando el archivo adjunto-fu plugin en dos niveles.

  1. Es por avatares de usuario en la clase de usuario.
  2. Es permitir que los archivos adjuntos (Pdf, etc) en un sistema de mensajería.

Mi pregunta es cuál es el mejor uso de la práctica sería en estas situaciones para permanecer SECO, clara y coherente.

Claramente no tendría ningún sentido para definir y ejecutar el plugin en ambas clases, pero hay algo profundamente extraño para mí (posiblemente infundada) acerca de seguir adelante y configuración de todo en la piadosa clase de Aplicación.

Hay algo en el medio, o es la clase de padre es el camino a seguir?

Gracias!

¿Fue útil?

Solución

Me inclino hacia el uso de una clase padre, con la creación de subclases de las diferentes maneras en que usted tiene la intención de utilizar realmente la adjuntos en su aplicación.Puede que no sea la gran sequedad solución disponible, sin embargo, se presta a un patrón lógico bastante bien.

Otros consejos

¿Cuál es el SECO problema con la definición de la attachment_fu configuración de dos veces?

A menos que los archivos son del mismo tipo y que se almacena en el mismo lugar, no vas a estar repitiendo algo en la configuración.

Seguro, usted tendrá dos has_attachment declaraciones, sino que las opciones en su mayoría difieren (una declaración de sus avatares y el otro para el pdf, etc.

El 99.99% de los el código para controlar el apego será enterrado en la attachment_fu libs, su código de configuración debe ser bastante SECO por defecto =)

Es el "outsourcing" avatar apoyo totalmente a Gravatar una opción?Hay algunos Rieles de plugins que va a mostrar los avatares organizado por Gravatar.Podría no ser necesario re-inventar la rueda, no.

Lo wfarr está describiendo sería tabla única herencia, que es lo que actualmente hago en esta situación.Tengo una tabla para los Activos que contiene todo lo necesario attachment_fu columnas, además de una columna adicional llamada tipo, que se mantenga el modelo actual nombre.Tengo un modelo de activos y modelos adicionales específicas para la subida de los tipos que se heredan de los activos:

de los activos.rb:

class Asset < ActiveRecord::Base
  ... attachment_fu logic ...
end

avatar.rb:

class Avatar < Asset
  ... avatar specific attachment_fu logic ...
end

pdf.rb:

class PDF < Asset
  ... PDF specific attachment_fu logic ...
end

No podía utilizar Polimórficos Asociaciones?

Estoy a punto de golpear a este en mi aplicación con attachment_fu, así que no estoy seguro exactamente en attachment_fu, pero para los de la vieja escuela La Columna Del Archivo De plugin, me gustaría utilizar Polimórficos Asociaciones.

Mi "archivo" modelo sería:

    class FileUpload < ActiveRecord::Base
      belongs_to :fileable, :polymorphic => true
      file_column :name
    end

y luego cualquiera de los modelos que se necesita un archivo adjunto sería:

    class Company < ActiveRecord::Base
      has_many :file_uploads, :as => :fileable
    end

Archivo de la Columna no es bueno, como lo borks en Safari 3.x y ya no se mantiene.Fue muy agradable y simple, aunque...Ah, los buenos viejos tiempos...

Para lo que vale, creo que Patrick Berkeley ha hecho un buen trabajo con el manejo de múltiples archivos adjuntos a través de la Presilla plugin.Él expuso su trabajo aquí:

http://gist.github.com/33011

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top