Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Am 15. Februar 2011 13:51 schrieb rubyonrails...@galt.de rubyonrails...@galt.de: Hallo Jürgen, ich verwende eh zwei verschiedene Controller. Insofern ist die Steuerung der beiden Fälle kein Problem. Allerdings möchte ich nicht alle Validations deaktivieren, was bei „user.save(:validate = false)“ der Fall ist, sondern nur einen Teil davon. Einige Validierungen sollen schon auch in der Administration stattfinden. Warum verwendest Du nicht zwei verschiedene Modelle oder Vererbung über STI? Nicolai ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Hallo, On 15.02.2011, at 12:59, rubyonrails...@galt.de wrote: [..] Mir ist bisher nichts besseres eingefallen als eine Kombination aus einem virtuellen attribut als Schalter (der im jeweiligen Controller „angeknipst“ wird) und der if-Bedingung in der Validierung: class CustomerUser ActiveRecord::Base validates :telephone, :presence = true, :if = lambda{ |u| u.validate_for_user? } etwas schöner sieht es ohne das lambda aus: validates :telephone, :presence = true, :if = :validate_for_user? Falls du mehrere solcher Validations hast, die alle von derselben Bedingung abhängen, ist with_options dein Freund [1] Grüße, Jens [1] http://geek.littleredstring.com/18-validations-with_options -- Jens Krämer Finkenlust 14, 06449 Aschersleben, Germany VAT Id DE251962952 http://www.jkraemer.net/ ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Weil es sich um dasselbe Modell, d. h. denselben Datensatz handelt, nur verschiedene Bearbeitungsmodi. Wenn ich STI oder zwei Modelle verwenden würde dann müßte ich ja für jeden User zwei Datensätze anlegen. STI bedeutet, daß man zwei Models hat, die sich dieselbe Tabelle teilen, aber eben unterschiedliche Datensätze. Das ist hier nicht der Fall. Beide, sowohl der Nutzer am Frontend, also auch der Administrator am Backend, sollen den _selben_ Datensatz bearbeiten können, aber die Validierung ist eine Unterschiedliche. Am 15.02.2011 um 13:55 schrieb Nicolai Constantin Reuschling: Am 15. Februar 2011 13:51 schrieb rubyonrails...@galt.de rubyonrails...@galt.de: Hallo Jürgen, ich verwende eh zwei verschiedene Controller. Insofern ist die Steuerung der beiden Fälle kein Problem. Allerdings möchte ich nicht alle Validations deaktivieren, was bei „user.save(:validate = false)“ der Fall ist, sondern nur einen Teil davon. Einige Validierungen sollen schon auch in der Administration stattfinden. Warum verwendest Du nicht zwei verschiedene Modelle oder Vererbung über STI? Nicolai ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Wow, Bingo! Genau _das_ habe ich gesucht. Besten Dank, Michael Kastner Am 15.02.2011 um 14:12 schrieb Jens Krämer: Hallo, On 15.02.2011, at 12:59, rubyonrails...@galt.de wrote: [..] Mir ist bisher nichts besseres eingefallen als eine Kombination aus einem virtuellen attribut als Schalter (der im jeweiligen Controller „angeknipst“ wird) und der if-Bedingung in der Validierung: class CustomerUser ActiveRecord::Base validates :telephone, :presence = true, :if = lambda{ |u| u.validate_for_user? } etwas schöner sieht es ohne das lambda aus: validates :telephone, :presence = true, :if = :validate_for_user? Falls du mehrere solcher Validations hast, die alle von derselben Bedingung abhängen, ist with_options dein Freund [1] Grüße, Jens [1] http://geek.littleredstring.com/18-validations-with_options -- Jens Krämer Finkenlust 14, 06449 Aschersleben, Germany VAT Id DE251962952 http://www.jkraemer.net/ ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Ich habe nicht von AktiveRecord-Modellen gesprochen. Intuitiv würde ich sagen, dass Dein Problem ein guter Use Case für ActiveModel ist. Viele Grüße, Nicolai ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Am 15.02.2011 um 12:59 schrieb rubyonrails...@galt.de: Mir ist bisher nichts besseres eingefallen als eine Kombination aus einem virtuellen attribut als Schalter (der im jeweiligen Controller „angeknipst“ wird) und der if-Bedingung in der Validierung: class CustomerUser ActiveRecord::Base validates :telephone, :presence = true, :if = lambda{ |u| u.validate_for_user? } wie wär's den current_user abzufragen? validates :telephone, :unless = current_user Gruß Werner Laude http://www.webagentur-laude.de ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
wie wär's den current_user abzufragen? Im Modell wohl eher nicht. ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Werner hat's mal wieder nicht kapiert... Ich hatte schon mal angefangen einen scoped_validator zu schreiben, hab's aber nicht zu ende gebracht. ein wenig pseudocode: validate_scoped :if = your_lambda do validate_existence... validate_presence... end wenn interesse besteht, dannwürde ich mich noch mal ran wagen. Am 15.02.2011 um 15:31 schrieb Nicolai Constantin Reuschling: wie wär's den current_user abzufragen? Im Modell wohl eher nicht. ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Am 15.02.2011 um 15:34 schrieb Peter Schröder: Werner hat's mal wieder nicht kapiert... Tja Herr Bademeister.. immer noch hier..? . Die Idee an sich hatte ja immerhin Charme... Werner Laude http://www.webagentur-laude.de ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
find ich gut. go peter, go peter ... ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
ich hab grade mal einen prototyp gebaut. vielleicht hat ja jemand interesse: https://github.com/phoet/scoped_validations/blob/master/spec/user.rb gute nacht ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Hallo, On 15.02.2011, at 22:25, Peter Schroeder wrote: ich hab grade mal einen prototyp gebaut. vielleicht hat ja jemand interesse: https://github.com/phoet/scoped_validations/blob/master/spec/user.rb http://apidock.com/rails/v3.0.0/Object/with_options Vielleicht ist's ja einfach schon zu spät aber ich seh' grad den Mehrwert deiner Lösung nicht... Grüße, Jens -- Jens Krämer Finkenlust 14, 06449 Aschersleben, Germany VAT Id DE251962952 http://www.jkraemer.net/ ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug
Re: [Rubyonrails-ug] Unterschiedliche Validierungsfälle
Hi Jens, die kannte ich noch nicht! wenn's mit validations auch funktioniert, dann wäre das ja eine schönere lösung als an jede validation :unless :admin dran zu schreiben von meiner uschi deluxe gesendet Am 15.02.2011 um 22:46 schrieb Jens Krämer j...@jkraemer.net: Hallo, On 15.02.2011, at 22:25, Peter Schroeder wrote: ich hab grade mal einen prototyp gebaut. vielleicht hat ja jemand interesse: https://github.com/phoet/scoped_validations/blob/master/spec/user.rb http://apidock.com/rails/v3.0.0/Object/with_options Vielleicht ist's ja einfach schon zu spät aber ich seh' grad den Mehrwert deiner Lösung nicht... Grüße, Jens -- Jens Krämer Finkenlust 14, 06449 Aschersleben, Germany VAT Id DE251962952 http://www.jkraemer.net/ ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug ___ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug