Ruby Forum Rails-ES > attachment_fu subir archivo

Posted by Andrés gutiérrez (Guest)
on 30.04.2008 15:16
(Received via mailing list)
Hola a todos, supongo que muchos (en España ) estaréis de puente o casi. 
Que
lo paséis bien.
Ya se que es un poco friki felicitar un puente en una lista de software,
pero mira,...me ha apetecido.

Bueno, al tema. Estoy con el plugin attachment_fu, pero no consigo 
hacerlo
funcionar.
Tengo instalados Rmagic e imageMagic . No hace falta nada más no?
tengo el plugin en mi app. Lo estoy intentando combinar con
restful_autentification para que cada usuario tenga sus fotos.

He conseguido que me muestre el formulario para subir las imagenes. Pero
cuando me las va a subir me dice el navegador:

:::: Content type is not included in the list ::::
Este es el log (development):
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  Parameters: {"photo"=>{"uploaded_data"=>#<File:/tmp/CGI477-1>,
"description"=>"algo aquí"}, "commit"=>"Upload Photo",
"authenticity_token"=>"9aa393838be5ea7bced545456fd4ee549c30a05ade",
"action"=>"create", "controller"=>"photos", "user_id"=>"1"}
  SQL (12.630191)   SET NAMES 'utf8'
  SQL (1.895759)   SET SQL_AUTO_IS_NULL=0
  Photo Columns (4.753970)   SHOW FIELDS FROM `photos`
  User Columns (0.040614)   SHOW FIELDS FROM `users`
  User Load (1.438269)   SELECT * FROM `users` WHERE (`users`.`id` = 1)
LIMIT 1
  User Load (0.001052)   SELECT * FROM `users` WHERE (`users`.`id` = 1)
  SQL (0.010973)   BEGIN
  SQL (0.000420)   COMMIT
Rendering template within layouts/application
Rendering photos/new
Completed in 23.81799 (0 reqs/sec) | Rendering: 0.89160 (3%) | DB: 
20.77125
(87%) | 200 OK [http://localhost/users/1/photos]
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

En el log pone algo de CGI. Será que me falta?

mi modelo es este:
#photo.rb
class Photo < ActiveRecord::Base
belongs_to :user
  has_attachment :content_type => :image,
                 :processor => :Rmagick,
                 :storage => :file_system,
                 :max_size => 1000.kilobytes,
                 :resize_to => '320x200>',
                 :path_prefix => 'public/photos',
                 :thumbnails => { :thumb => '100x100>' }

  validates_as_attachment
end

Como veis tengo :content_type

Gracias por la ayuda que me podáis prestar


Un saludo,
Andrés
Posted by Andrés Gutiérrez (andresgutgon)
on 30.04.2008 17:00
>>mi modelo es este:
>>#photo.rb
>>class Photo < ActiveRecord::Base
>>belongs_to :user
  >>has_attachment :content_type => :image,
                 >>:processor => :Rmagick,
                 >>:storage => :file_system,
                 >>:max_size => 1000.kilobytes,
                 >>:resize_to => '320x200>',
                 >>:path_prefix => 'public/photos',
                 >>:thumbnails => { :thumb => '100x100>' }

  >>validates_as_attachment
>>end


He quitado la linea ::: validates_as_attachment ::::
y me permite subir la imagen. Peor no me crea el thumbnail.
No sé. Tiene que ser algo de la validación, aunque me mosquea que no se 
cree la thumbnail.
Posted by Antonio Reina (Guest)
on 30.04.2008 17:23
(Received via mailing list)
Hola,

El mensaje de error que te salía es por la validación, en principio esta
detectando que el tipo de fichero que estas enviando no es del tipo que
debería.
Lo de que no se te cree la thumbnail deberias de mirar en el log, a ver 
que
es lo que sucede.

A ver si podemos ayudarte,

Saludos.

On Wed, Apr 30, 2008 at 5:00 PM, Andrés Gutiérrez <
Posted by Andrés Gutiérrez (andresgutgon)
on 30.04.2008 17:48
(Received via mailing list)
Hola, gracias por contestar.

>>El mensaje de error que te salía es por la validación, en principio esta
detectando que el tipo de fichero que estas enviando no es del tipo que
debería.
El fichero que mando en un (.jpg)

>>Lo de que no se te cree la thumbnail deberias de mirar en el log, a ver
que es lo que sucede.
He reiniciado el server y he borrado todo lo que había en el log. luego 
he
intentado subir una foto. esto es lo que hay:
#development.log

Processing PhotosController#new (for 127.0.0.1 at 2008-04-30 17:40:38) 
[GET]
  Session ID:
BAh7CToMY3NyZl9pZCIlNWI1ODg1Yzk1ZmY4M2MwNTk1YjkxZjY0YzQzNWYw%0AZjg6DnJldHVybl90bzAiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZs%0AYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA6DHVzZXJfaWRpBg%3D%3D--e5c804265921fecc669bfdc31948397b024921b5
  Parameters: {"action"=>"new", "controller"=>"photos", "user_id"=>"1"}
  Photo Columns (0.005987)   SHOW FIELDS FROM
`photos`
Rendering template within layouts/application
Rendering photos/new
  User Columns (0.012301)   SHOW FIELDS FROM 
`users`
  User Load (0.003674)   SELECT * FROM `users` WHERE
(`users`.`id` = 1) LIMIT 1
Completed in 0.15881 (6 reqs/sec) | Rendering: 0.09721 (61%) | DB: 
0.02196
(13%) | 200 OK [http://localhost/users/1/photos/new]


Processing PhotosController#create (for 127.0.0.1 at 2008-04-30 
17:40:50)
[POST]
  Session ID:
BAh7CToMY3NyZl9pZCIlNWI1ODg1Yzk1ZmY4M2MwNTk1YjkxZjY0YzQzNWYw%0AZjg6DnJldHVybl90bzA6DHVzZXJfaWRpBiIKZmxhc2hJQzonQWN0aW9uQ29u%0AdHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--f8084c1fc408a525048265f648c0cfd4455b9afd
  Parameters: {"photo"=>{"uploaded_data"=>#<File:/tmp/CGI663-1>,
"description"=>"sd dswdsd ssdd  sda"}, "commit"=>"Upload Photo",
"authenticity_token"=>"6ee0da71b40e69ec433e483315d14abe1fd938c7",
"action"=>"create", "controller"=>"photos", "user_id"=>"1"}
  Photo Columns (0.006096)   SHOW FIELDS FROM 
`photos`
  User Columns (0.004887)   SHOW FIELDS FROM 
`users`
  User Load (0.005792)   SELECT * FROM `users` WHERE
(`users`.`id` = 1) LIMIT 1
  User Load (0.001059)   SELECT * FROM `users` WHERE
(`users`.`id` = 1) 
  SQL (0.000481)   BEGIN
  SQL (0.000432)   COMMIT
Rendering template within layouts/application
Rendering photos/new
Completed in 0.14485 (6 reqs/sec) | Rendering: 0.02457 (16%) | DB: 
0.01875
(12%) | 200 OK [http://localhost/users/1/photos]



El día 30 de abril de 2008 17:16, Antonio Reina <a.reina@gilberte.com>
escribió:
Posted by Andrés Gutiérrez (andresgutgon)
on 30.04.2008 21:40
Vale, ya se que me pasa.
Lo que pasa es que no he sido ordenado a la hora de instalar:
-imageMagic y sus dependencias
-Rmagic

lo de las dependencias de RMagic es un caos, encima yo lo instale una de
las veces con MacPorts. El cual me cambio el .profile,...total que ahora
hago un
irb require 'RMagic'
y me da esto:
LoadError: no such file to load -- RMagick
        from (irb):1:in `require'
        from (irb):1
Cuando haciendo un gem list veo que tengo instalado RMagic

ASi que lo que quiero es una oportunidad de hacer las cosas bien.
Alguien me puede decir como desinstalar ImageMagic y dependencias y
RMagic
y estar totalmente seguro de que no esta en mi Sistema operativo.


Gracias
Posted by Jaime Iniesta (Guest)
on 02.05.2008 18:11
(Received via mailing list)
Hola Andrés, te sugiero que uses MiniMagick[1], más fácil de instalar y
consume menos recursos que RMagick. Si sólo necesitas redimensionar y
recortar, MiniMagick te da eso y más.

Otra opción es usar el plugin Paperclip [2] en lugar de attachment_fu, 
ya
que éste no usa RMagick ni MiniMagick, sino directamente ImageMagick.

[1] http://rubyforge.org/projects/mini-magick/
[2] http://thoughtbot.com/projects/paperclip

Saludos,
Jaime

El día 30 de abril de 2008 21:40, Andrés Gutiérrez <
ruby-forum-incoming@andreas-s.net> escribió:
Posted by Andrés Gutiérrez (andresgutgon)
on 04.05.2008 10:57
(Received via mailing list)
Gracias Jaime, lo que me dices ya lo había oido, a ti hace unos meses.
Seguramente nunca necesite mas que cortar y reimensionar. Y terminare
trabajando o probando mini.magic. y entonces me leere el tutorial que 
tienes
en tu blog (el de cropear las  imagenes).
Pero antes de eso quiero probar Rmagic.Y lo que es más importante, 
quiero
ver que soy capaz de instalar todo lo necesario en mi ordenador para 
hacer
funcionar rails con un sistema de subia y tratamiento de imagenes. Esto 
que
estoy haciendo me esta sirviendo para conocer mas el UNIX que lleva mi 
Mac
OS X. yo nunca había tocoado el terminal y esto me esta sirviendo.

Entonces mi problema a dia de hoy es:
saber que es lo que tengo instalado, en que estado esta (si funciona o 
no lo
he instalado bien) y ser capaz de desinstalarlo (saber como hacerlo).
Alguna indicación...gracias de todas formas jaime

Un saludo

El día 2 de mayo de 2008 18:10, Jaime Iniesta <jaimeiniesta@gmail.com>
escribió:
Posted by Francesc Esplugas (fesplugas)
on 04.05.2008 11:46
(Received via mailing list)
Con que lo instalaste? Si es con los ports puedes borrar toda la
carpeta /opt i empezar de nuevo.

Si has hecho alguna cosa fea a la hora de instalar lo que puedes hacer
es lo siguiente.

- Te instalas MacPorts
- Pones en tu path (dentro del .profile)
  export PATH="/opt/local/bin:$PATH"
- Instalas todo lo que te haga falta, Ruby, MySQL, PostgreSQL,
ImageMagick ...

Como lo tendras todo instalado en /opt el path inicial de búsqueda del
binario serà /opt/local/bin ...

Yo no era muy fan de los MacPorts, y despues de instalar Leopard
decidí que era un buen momento para volverlo a probar. Va muy bien
sobretodo porque así puedes instalar tu versión de Ruby sin tener que
tocar la que te viene con Leopard. (Eso de cambiar los nombres de los
binarios es muy feo)

En fin, just my two cents.

Francesc
Posted by Andrés Gutiérrez (andresgutgon)
on 04.05.2008 13:26
(Received via mailing list)
Francesc, ahora estoy totalmente sintonizado contigo. he descubierto el
manual de Ports. Que es con lo que instale imagemagic
y lo he desinstalado. De momento, odio a Mac Ports!!!!! me esta 
volviendo
loco, lo volveré a probar cuando me compre un flamante iMac con Leopard 
(te
haré caso) pero hoy paso de ports y  voy a instalar todo con el script 
de
este tio [1].
Dime que te parece. Sino, lo quito y lo voy haciendo uno por uno yo 
mismo.
ya me he instalado X11 y Xcode. le he perdido el miedo a compilar (no 
soy
para nada programador, ni nada, asi que comprende mis reparos a caminar 
por
el terminal). Pero despues de un tiempo me voy sintiendo comodo, aunque 
la
cage :-)

Ahora esto es lo que me queda en opt/:
port installed
The following ports are currently installed:
  bzip2 @1.0.5_0 (active)
  expat @2.0.1_0 (active)
  fontconfig @2.5.0_0+macosx (active)
  libiconv @1.12_0+darwin_8 (active)
  libxml2 @2.6.31_0 (active)
  pkgconfig @0.23_0 (active)
  zlib @1.2.3_1 (active)

Me puedes decir si estos archivos están relacionados con imagemagic, o 
lo
estoy usando para otra cosa. porque no me atrevo a borrar el directorio
entero sin saberlo

De todas formas, ahora mismo ya lo estoy haciendo con [1] asi que si es 
mala
idea, tendré que volver para atras y empezar otra vez. Por cierto, como 
se
desinstala algo, si lo he instalado con [1]. Que creo que es la forma
standar de instalar las cosas sin ayudas [MacPorts, fink,...]

gracias por estar por ahí

un saludo
Andrés

[1]
http://blog.labratz.net/articles/2006/10/10/really-truly-getting-imagemagick-rmagick-working-on-osx-from-source-without-using-macports-darwinports-or-fink

El día 4 de mayo de 2008 11:45, Francesc Esplugas <
francesc.esplugas@gmail.com> escribió:
Posted by Francesc Esplugas (fesplugas)
on 04.05.2008 17:26
(Received via mailing list)
Si borras todo lo que hay en /opt todo estará como al principio y
podras volver a iniciar la instalación de los ports.

Un saludo,

Francesc