Problema con plugin


#1

Hola expertos,

Tengo un pequeño problemilla con un plugin que estoy haciendo [1], este
es
un plugin para subir imagenes a S3, y hacer los crops y thumbs en local
con
imageScience, este plugin es para usarse con el “upload_module” de Nginx
[2].

bueno , el plugin me esta funcionando bien cuando solo lo seteo para un
modelo , pero me da problemas cuando lo seteo en mas de un modelo, ahi
el
plugin se confunde cual modelo es el que tiene que usar y me cambia los
paths, por ejemplo tengo estos dos modelos seteados

Modelo ArtWorks
acts_as_uploadable :s3_bucket => ‘artenlinea’ , :path=>“art_works”

Modelo DesignSettings
acts_as_uploadable :s3_bucket => ‘artenlinea’ ,
:path=>“design_settings”

por ejemplo cuando voy a subir una imagen de art_works , el plugin se
confunde y me la deja en design_settings, subiendo la imagen a s3 a
design_settings, este es el unico problema que presenta el plugin ya que
todo lo otro funciona, asi tambien me sucede con el helper del plugin
que
tambien genera la url y me cambia los paths.

el metodo que genera el path remoto es este [2] y creo que ahi puede
estar
el problema , pero yo no lo veo

alguna idea?

saludos

[1]http://github.com/michelson/acts_as_uploaded/tree/master
[2]http://www.grid.net.ru/nginx/upload.en.html
[3]http://pastie.org/286517

Atte.
Miguel Michelson Martinez


#2

Hola Miguel,lo he mirado muy por encima, ya que no tengo cuenta en
Amazon
S3, pero el problema no está en el metodo remote_path, sino a la hora de
guardar las opciones.

Tienes que cambiar:
cattr_accessor :attachment_options
self.attachment_options = options
por:
write_inheritable_attribute :attachment_options, options
class_inheritable_reader :attachment_options

Creo que es porque la variable de clase attachment_options es
referenciada
por todos los elementos que incluyen acts_as_uploadable, es decir,
comparten
su valor.
Así que hay que en vez de referenciarla hay que copiarla para cada
clase.

Me explico muy mal, sorry.

Mirate estos links:
http://drnicwilliams.com/2006/08/27/so-cattr_accessor-doesnt-work-like-it-should/
http://www.alexyoung.org/articles/show/40/a_taxonomy_of_rails_plugins

Saludos.

On Tue, Oct 7, 2008 at 7:11 AM, Miguel M. <


#3

Atte.
Miguel Michelson Martinez

www.artenlinea.cl

On Wed, Oct 8, 2008 at 7:24 AM, Jose Miguel C.
removed_email_address@domain.invalidwrote:

Funcionó

:smiley:

Creo que es porque la variable de clase attachment_options es referenciada
por todos los elementos que incluyen acts_as_uploadable, es decir, comparten
su valor.
Así que hay que en vez de referenciarla hay que copiarla para cada clase.

Me explico muy mal, sorry.

para nada, todo clarisimo.

gracias