Hallo,

ich bin gerade etwas am Haare ausraufen. Ich möchte mir ein acts_as-Plugin für Dateihandling bauen. Das ist nicht das erste acts_as, das ich bastle, aber hier komme ich nicht weiter.

Mein Modul sieht (etwas verkürzt) so aus:

# acts_as_asset.rb in vendor/plugins/acts_as_asstet/lib
module Galt
  module Acts
    module Asset

      def self.included(mod)
        mod.extend(ClassMethods)
      end

      module ClassMethods
        def acts_as_asset(options = { :asset_dir => 'assets' })
          class_eval <<-EOV
            ASSET_DIR = '#{options[:asset_dir]}'
          EOV
          include Galt::Acts::Asset::InstanceMethods
        end
      end

      module InstanceMethods
        def raw_file_path
          File.join ASSET_DIR,
                    "#{self.name}".to_valid_file_name << ".#{self.extension}"
        end
    end
  end
end

ActiveRecord::Base.class_eval do
  include Galt::Acts::Asset
end
# ende von acts_as_asset.rb


Das ist ziemlich straight forward.

A B E R, ich erhalte zur Laufzeit, wenn die Methode raw_file_path aufgerufen wird, diese Fehlermeldung:

uninitialized constant Galt::Acts::Asset::InstanceMethods::ASSET_DIR

Warum wird ASSET_DIR als Konstante im Modul Galt::Acts::Asset::InstanceMethods gesucht und nicht in der Klasse Asset?

Kann mir jemand auf die Sprünge helfen?

Viele Grüße

Michael Kastner

--

------------------------------
galt.de Web :-) Services
Michael Kastner
Berliner Straße 3
D-65439 Flörsheim

Telefon +49 (0) 6145 / 938 581
Telefax +49 (0) 6145 / 938 582
E-Mail [EMAIL PROTECTED]
Homepage http://www.galt.de
------------------------------
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an