Destroy association in memory

Hi,
Does Rails antipode of build method?
Build make object in memory, and save it to database when parent
object is saved.
I need method to destroy object in memory and remove it from database
when parent object is saved.
mark_for_destruction is not the answer, because it not destroy object,
only mark it.

Thanks,
Anatoliy.

Hi Anatoliy,

On Thu, Jul 22, 2010 at 6:42 AM, Anatoliy L.
[email protected] wrote:

I need method to destroy object in memory and remove it from database
when parent object is saved.

The notion of children that exiss prior to the parent’s creation is a
bit odd, but assuming that you have some way to identify them other
than session variables, you could use an after_create method in your
parent model to destroy the child objects.

HTH,
Bill

Hi Bill,
I was not clear,

Given situation when we have parent object task, and child object
resource,
task has many resources.
When user edit task, change some fields, delete some resource
association,
add some resource association
Notice than user not create resource or task, it create only association
task ↔ resource
Then user save task
And task is not saved due to validation error
Then changed fields is changed in memory, not database
Then for added resource association builded in memory, not in database
#the issue is here
Then for deleted association to resource we have two choices:
delete association to resource both in memory and database
or
mark it for destruction and have it both in memory and database

I need:
destroy association to resource in memory, not in database, and destroy
association in database only when task saved

Something like mark_for_destruction, but when you mark object it is
still in
association.

Thanks,
Anatoliy

2010/7/22 Bill W. [email protected]

On 22 July 2010 14:28, Anatoliy L. [email protected] wrote:

Hi Bill,
I was not clear,

Given situation when we have parent object task, and child object resource,
task has many resources.

Is that also resource belongs_to task?

When user edit task, change some fields, delete some resource association,
add some resource association
Notice than user not create resource or task, it create only association
task ↔ resource

So you are just setting the id field in an existing resource in the db?

Then user save task
And task is not saved due to validation error
Then changed fields is changed in memory, not database
Then for added resource association builded in memory, not in database

What do you mean the association is built in memory? Also nothing is
saved in memory from one request cycle to the next, so I do not
understand what you are trying to say.

Colin

Hi Everyone,
Thanks for responses,
I found what I need:
#4521 HABTM: ability to link and unlink records with :autosave => true - Ruby on Rails - railshttps://rails.lighthouseapp.com/projects/8994/tickets/4521-habtm-ability-to-link-and-unlink-records-with-autosave-true

Thanks,
Anatoliy.

2010/7/22 Colin L. [email protected]