Moin Adam,

ich war gestern abend scheinbar wirklich nicht mehr auf der Höhe mit meinem Hinweis. Sorry dafür.

Trotzdem hier noch ein kleiner Hinweis: Es wäre besser, wenn du nicht die validate-Methode überschreibst, sondern stattdessen den dafür vorgesehen Hook benutzt und deine Validierung in eine eigene private Methode schreibst. Das Ganze hätte dann den Vorteil, dass die validate- Methode weiterhin (vllt von eingebundenen Modulen) überschreibbar bleibt, ohne deine Validierung zu überschreiben. Das Ganze sähe dann ungefähr so aus:

class Order < ActiveRecord::Base
  belongs_to :user
  has_many :products
  belongs_to :raddress

  validate :deliverdate_in_the_future

private
  def deliverdate_in_the_future
errors.add(:deliverdate, "Datum muss in der Zukunft liegen") if deliverdate <= Date.today
  end
end

Solltest du jetzt weitere eigene Validierungen hinzufügen wollen, definierst du im private-Bereich eine weitere Validierungs-Methode und führst diese einfach nach einem Komma hinter der ersten an: "validate :deliverdate_in_the_future, :second_own_validation"

Schöne Grüße,
Benjamin

Am 05.02.2009 um 23:06 schrieb Adam Meyer <[email protected]>:

So geht es jetzt

class Order < ActiveRecord::Base
 belongs_to :user
 has_many :products
 belongs_to :raddress

  def validate
   if deliverdate <= Date.today
    errors.add(:deliverdate, "Datum muss in der Zukunft liegen.")
   end
  end
end


Gruß und Danke
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug

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

Antwort per Email an