On Thu, 16 Oct 2014 19:58:52 +0100
Colin Law <[email protected]> wrote:

> On 15 October 2014 22:01, Brian Sammon
> <[email protected]> wrote:
> > All my tables/models have a "revision" field, and I have a
> > before_update callback to increment the revision field.
> >
> > Among my tables are:
> >   events
> >   rooms
> >   events_rooms
> >
> > In my Event model, I have:
> >   has_many :eventRooms
> >   has_many(:rooms, :through => :eventRooms)
> >
> > When I create an event, assign a room or two, and then save, the
> > "events_rooms" table entry is initially created with a revision of 1,
> > and then (immediately, automatically, and inexplicably) updated to hav
> > a revision of 2. I do not want every new record to have a revision
> > number of 2.  The revision 2 version is identical to revision 1 (which
> > it replaces), aside from the revision number.
> >
> > I can reproduce this in the rails console with the following:
> >   event = Event.new({'name' => 'Meeting 5'})
> >   event.rooms << Room.find(['1', '2'])
> >   event.save
> >
> > Does anyone have any idea why this could be happening or where I shoul
> > look for further troubleshooting?
> 
> Just to be clear you are saying that the above code invokes
> before_update once where you would not expect it to be called at all?
> If so is it invoked by the save or does it get called when the room is
> added?
> 
> Does it save it twice?

it does a sql INSERT followed by a sql UPDATE (both) after "event.save".

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/20141016151405.a39b45767754d32af364e563%40brisammon.fastmail.fm.
For more options, visit https://groups.google.com/d/optout.

Reply via email to