Spontan würde in Rails einen before_filter benutzen, der beim
speichern den Wert setzt,
kurz nachgedacht würde ich das wohl anders machen:
Du brauchst das aber auch gar nicht selbst mitzuzählen, wenn du in
der Tabelle customer einen counter_cache anlegst.
http://blog.gorgorg.org/articles/2006/04/04/ruby-on-rails-how-to-
actually-use_count-counter_cache
Ich hoffe, das hilft dir.
Viele Grüße,
Tom
On Jul 17, 2007, at 1:05 PM, Daniel Weinand wrote:
Hallo,
gibt es einen "Railsweg" um Werte in der DB in Abhängigkeit eines
anderen Wertes zu erhöhen?
Also quasi wie die interne id Vergabe, aber mit einem
festzulegendem Kriterium.
Beispiel:
Ich habe eine Tabelle 'customer' und eine Tabelle 'transactions',
verknüpft über has_many -> belongs_to.
Bei jeder Neuanlage soll ein interener Zähler pro Transaktion/Kunde
hochgezählt werden.
Also quasi:
# Pseudo
autoincrement_spalte = Transaction.maximum
(:autoincrement_spalte, :conditions => {"kunde_id = ?",
self.kunde_id}, :unique)
Der Wert muss aufjedenfall unique sein. Also darf nicht doppelt
vergeben werden. Momentan wird das über einen Trigger in der DB
selbst erledigt. Denke ich mal der beste Weg. Interessiert mich
aber gerade obs da eine Rails interne Lösung gibt.
Gruß
Daniel
_______________________________________________
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