Gregor, Alex,

thanks, danke fürs Brett wegnehmen.

Viele Grüße

Michael Kastner

Gregor Schmidt schrieb:
Hallo Michael,

ein Klassenmethode in Ruby funktioniert etwas anders als statische
Methoden in Java. Um es kurz zu machen: Die Methode ist auf der Klasse
definiert und kann auch nur auf der Klasse oder auf Subklassen gerufen
werden. Um dein Stückchen Code zum Laufen zu bekommen musst du also in
den Instanz-Methoden den Aufruf

-  self.generate_random_sequence

in

+  self.class.generate_random_sequence

oder

+  ContactData.generate_random_sequence

ändern. Dann sollte alles wie erwartet funktionieren.

Viele Grüße

Gregor

On Sun, Jun 22, 2008 at 17:07, Michael Kastner <[EMAIL PROTECTED]> wrote:
Hallo,

ich verstehe gerade nicht, warum meine Klassenmethode
generate_random_seqence nicht funktioniert.

In der Konsole ist alles ok:

ContactData.generate_random_sequence
=> [7, 5, 2, 6]

Aber sobald ich die Klassenmethode aus der Instanz aufrufe, erhalte ich eine
Fehlermeldung:

undefined method `generate_random_sequence' for #<ContactData:0x237e3b0>

app/models/contact_data.rb:35:in `valid_sequence_confirmation?'
app/models/contact_data.rb:22:in `validate'
lib/non_record_model.rb:8:in `valid?'


Hier der relevante Ausschnitt des Quellcodes:

class ContactData < NonRecordModel::Base

 attr_accessor :sequence

 ...

 def valid_sequence_confirmation?
   return true if sequence_confirmed?
   if self.sequence_confirmation.to_s == self.sequence.to_s
     self.sequence_confirmed = "true"
     return true
   end
   self.sequence = self.generate_random_sequence
   false
 end

 ...

 def sequence_confirmed?
   (self.sequence_confirmed && self.sequence_confirmed.strip.length > 0)
 end

 ...

 def self.generate_random_sequence
   [1,2,3,4,5,6,7,8,9].sort_by{rand}[1..4]
 end

end


Wahrscheinlich etwas ziemlich Triviales, das ich übersehen habe. Kann mir
jemand auf die Sprünge helfen?

Viele Grüße

Michael Kastner

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


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


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

Antwort per Email an