Hallo Leute,

ich habe auf meinem Linux Server ein extrem kurioses Problem mit FlexImage, welches komischerweise auf meinem Mac nicht auftritt. Auf beiden Rechnern ist exakt die gleiche ImageMagick, RMagick, FlexImage und lighttpd Version vorhanden, alle gleich konfiguriert.

Folgendes habe ich in meiner App. Zwei Models, die jeweils über Images verfügen sollen.

class ShipmentImage < FlexImage::Model
  self.file_store = 'public/images/customers'
  pre_process_image :size => '250x250'
end

class CompanyImage < FlexImage::Model
  self.file_store = 'public/images/companies'
  pre_process_image :size => '130x130'
end

Beide haben also Ihr eigenes Verzeichnis für Images. Der Upload in diese separaten Verzeichnisse funktioniert auch einwandfrei. Die Controller dazu:

class ShipmentImageController < ApplicationController
  flex_image :action => 'show',
             :class => ShipmentImage,
             :overlay => {
             :file      => 'images/watermark.png',
             :alignment => :bottom_right,
             :offset    => 10
             }
  flex_image :action => 'thumb',
             :class => ShipmentImage,
             :size => '50x50'
end

class CompanyImageController < ApplicationController
  flex_image :action => 'show',
             :class => CompanyImage
  flex_image :action => 'thumb',
             :class => CompanyImage,
             :size => '50x50'
end

Auch kein Hexenwerk bis hierher. Jetzt das eigenartige: Ich rufe ein ShipmentImage im Browser auf:

http://myhost/shipment_image/show/11.png

Processing ShipmentImageController#show (for 1.2.3.4 at 2007-07-30 15:11:14) [GET]
  Session ID: 34b0c06c9e813e35fe8cee13c710b87f
Parameters: {"action"=>"show", "id"=>"11.png", "controller"=>"shipment_image"}
::: Checking session expiry
::: Session has not expired. Reinitialising.
::: Initializing session expiry. Expires at Montag, 30 Juli 2007 15:21 CEST
Sending data
Completed in 0.16251 (6 reqs/sec) | Rendering: 0.00007 (0%) | DB: 0.00047 (0%) | 200 OK [http://myhost/shipment_image/show/11.png]

Soweit ok, jetzt rufe ich ein CompanyImage auf:

http://myhost/company_image/show/1.png

Processing CompanyImageController#show (for 1.2.3.4 at 2007-07-30 15:11:24) [GET]
  Session ID: 34b0c06c9e813e35fe8cee13c710b87f
Parameters: {"action"=>"show", "id"=>"1.png", "controller"=>"company_image"}
::: Checking session expiry
::: Session has not expired. Reinitialising.
::: Initializing session expiry. Expires at Montag, 30 Juli 2007 15:21 CEST
Sending data
Completed in 0.11139 (8 reqs/sec) | Rendering: 0.00007 (0%) | DB: 0.00118 (1%) | 200 OK [http://myhost/company_image/show/1.png]

Soweit auch ok, jetzt rufe ich aber nochmal das erste ShipmentImage auf :

http://myhost/shipment_image/show/11.png

Processing ShipmentImageController#show (for 1.2.3.4 at 2007-07-30 15:11:34) [GET]
  Session ID: 34b0c06c9e813e35fe8cee13c710b87f
Parameters: {"action"=>"show", "id"=>"11.png", "controller"=>"shipment_image"}
::: Checking session expiry
::: Session has not expired. Reinitialising.
::: Initializing session expiry. Expires at Montag, 30 Juli 2007 15:21 CEST


Magick::ImageMagickError (unable to open image `/srv/shipbids/ public/../config/../public/images/companies/11.jpg': No such file or directory):
    /vendor/plugins/flex_image/lib/flex_image/model.rb:715:in `read'
/vendor/plugins/flex_image/lib/flex_image/model.rb:715:in `rmagick_image' /vendor/plugins/flex_image/lib/flex_image/model.rb:702:in `save_image' /vendor/plugins/flex_image/lib/flex_image/model.rb:270:in `process!'
    (eval):8:in `show'

.... usw.

Statt hier den relativen Pfad zu den ShipmentImages (images/ customers) zu nutzen, versucht er aus irgendwelchen Gründen einen statischen Pfad (auf images/companies) zu bauen, benutzt dabei aber den Pfad für meine CompanyImages, was ich überhaupt nicht nachvollziehen kann. Ich dachte jetzt an ein Cacheproblem, habe mal mit WebRick getestet, gleiches Resultat, habe dann ImageMagick, RMagick und lighttpd aus exakt den gleichen Sourcen auf der Linuxkiste gebaut, wie bei mir auf dem Mac, keine Änderung. Ich weiss nicht, wo ich jetzt noch nach Fehlern suchen soll.

Kennt jemand von Euch das Problem? Hat jemand eine Idee, wo ich noch ansetzen könnte?

Beste Grüsse

Jan Roesner
[EMAIL PROTECTED]



_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an