> validation is called only when an object is persisted to the relational DB, never with object creation / modification in memory.
u=User.new(:name => '', ....) u.valid? u.errors.on :name Validation is run, although there was no attempt to save to db. This is key to solve the exercise (in a graceful way) Raul 2008/11/2 Aleš Bednařík <[EMAIL PROTECTED]> > > Hi Petro and Raul, > > it was interesting for me to follow your conversation. I just want to be > sure if I understand the ActiveRecord validation correctly and need a > confirmation of the following: > > Validation is called only when an object is persisted to the relational DB, > never with object creation / modification in memory. > The :on parameter can have following three values: > :on => :create - is called only for persistence of a NEW object - creation > (memory -> database) > :on => :update - is called only for persistence of already earlier > persisted object - modification > :on => :save - is called in both situation described above > > Is that correct? > > By the way, my first approach was to store name, age and hobby separately > to the session. The idea with the object creation (in memory) and storing > the whole object seems to me very elegant. > > Ales > > > ------------ Původní zpráva ------------ > > Od: raul parolari <[EMAIL PROTECTED]> > > Předmět: [rails-development] Re: 5526 - Action Controller Basics - > Homework > > Datum: 29.10.2008 15:45:46 > > ---------------------------------------- > > Hi, Pietro, > > > > > now I'm a better rails citizen ;-) > > > > Me too; I had no idea that we could do an "intermediate validation" (and > > without creating the object) using ActiveRecord. It was just a few emails > > back that I was trying to cast your interpretation of the requirements as > "*ad > > litteram*" (Lol!). Ad litteram my foot; you were just right. > > > > > If you happen to travel here in northern Italy... > > > > Thank you so much. I was born there (a bit up north from you, Tione di > > Trento); wine (not to mention food) is fantastic. > > As for the beer, one is waiting for me in Szczecin (Poland), from Pawell, > so > > I will be fine..:-). > > > > To more intelligent discussions (and fluids.. :-) > > > > Raul > > > > > > On Wed, Oct 29, 2008 at 1:23 AM, Pietro Maggi <[EMAIL PROTECTED]> > wrote: > > > > > On Wed, Oct 29, 2008 at 8:09 AM, raul parolari <[EMAIL PROTECTED] > > > > > wrote: > > > > > > > > yes, this is an interesting misunderstanding. When we study Ruby, > we > > > may > > > > have a class Player, and when we do: > > > > > > > > lionel = Player.new(:name => "messi", :team => "barcelona", ...) > > > > > > > > we say that we have created an object of the class Player. > > > > > > > > But it is different in ActiveRecord (AR); the word creation means > > > "creating > > > > in the database". AR does not care about much about our u=User.new(); > but > > > it > > > > cares when we save that user u! that is the moment of the > "creation"... > > > > > > > [SNIP] > > > > > > Yep, I initially mixed them up. After a bit of reading I finally got > > > it and now I'm a better rails citizen ;-) > > > > > > Thanks again Raul > > > If you happen to travel here in norther Italy* I'll happily offer you > > > some tasty wine (the usual way of say how much someone appreciate your > > > help, it's to offer a beer but, hey, I'm Italian ;-). > > > > > > Pietro > > > > > > > > > * I'm here: > > > > > > http://maps.google.com/maps?f=q&hl=en&geocode=&q=lecco,+italy&sll=37.0625,-95.677068&sspn=49.310476,79.101563&ie=UTF8&g=lecco,+italy&t=h&ll=45.896699,9.30542&spn=0.682404,1.235962&z=10&iwloc=addr > > > > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "ruby-on-rails-programming-with-passion" group. To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/ruby-on-rails-programming-with-passion?hl=en?hl=en -~----------~----~----~----~------~----~------~--~---
