Ruby on Rails Thursday, October 16, 2014

On 15 October 2014 22:01, Brian Sammon
<rubyonrails-list@brisammon.fastmail.fm> 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 have
> 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 should
> 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?

Colin

--
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 rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLs5yb-k-dW%2Bve1VXRFfMBQLfjZ_P_Frk1wNXS1cS0KZOQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment