Je reviens appeller à l'aide parce que j'ai l'impression d'avoir manqué un
truc sans savoir lequel.
Toujours dans le contexte de ce même problème, j'ai fait la fonction
suivante dans le modèle d'image :
def recrop_thumb!(top, left, size, thumb)
size = size.first if size.is_a?(Array) && size.length == 1
size = [size.to_i, size.to_i] if ! size.is_a?(Array)
thumb = thumbnails.find(:first, :conditions => {:thumbnail => thumb})
thumb.db_file.data = Magick::Image.from_blob(db_file.data).first.crop(top,
left, size[0], size[1]).to_blob
thumb.save!
end
Je sais, c'est encore propre, j'essaye avant tout d'avoir quelque chose qui
fasse à peu près ce que je lui demande, après je verrais pour polir le
fonctionnement.
En gros, après avoir lu les paramètres (top / left pour le coin haut et
gauche du recadrement, size pour les dimensions du recadrement, thumb pour
le type de la vignette à modifier), on récupère la vignette correspondante
dans la liste des vignettes de cet objet, puis on met dans "data" le
recadrage, et enfin on sauvegarde la vignette ainsi modifiée.
Apparement rien de transcendental.
Sauf qu'évidement, ça ne marche pas, et ça me casse une erreur monstrueuse :
NameError: undefined local variable or method `full_filename' for
#<Image:0xb70d82b8>
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/base.rb:1860:in
`method_missing'
from
./script/../config/../config/../vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:276:in
`temp_paths'
from
./script/../config/../config/../vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:270:in
`temp_path'
from
./script/../config/../config/../vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:236:in
`save_attachment?'
from
./script/../config/../config/../vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:339:in
`set_size_from_temp_path'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/callbacks.rb:333:in
`send'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/callbacks.rb:333:in
`callback'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/callbacks.rb:330:in
`each'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/callbacks.rb:330:in
`callback'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/callbacks.rb:295:in
`valid?'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/validations.rb:761:in
`save_without_transactions!'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/transactions.rb:133:in
`save!'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:59:in
`transaction'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/transactions.rb:95:in
`transaction'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/transactions.rb:121:in
`transaction'
from
./script/../config/../config/../vendor/rails/activerecord/lib/active_record/transactions.rb:133:in
`save!'
from ./script/../config/../config/../app/models/image.rb:70:in
`recrop_thumb!'
Je me demande ce que j'ai bien pu faire pour mériter une engueulade
pareille...
Si quelqu'un à une idée, je suis preneur, de toute façon je continue à
chercher...
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---