Didn't see this when I sent the other.  But yeah, I was
sort of assuming the transaction wrapping.  I was still hoping
to do all my in-memory attribute futzing as a separate step from the save() (seems clearer that way, allows for a single
separate "a.valid?" call, etc).

        -glenn

Peter Gumeson wrote:
Guess I should have read your whole post there...
I havn't tested this, but If you want it to be transactional, try
wrapping it in:

Author.transaction do
  a = Author.find(some_id)
  a.update_attributes!({middle_name => "Poindexter"})
  a.stories.find_by_title("The Lake").update_attributes!({title =>
"The Dry Lake"})
end

(Be sure to use either update_attributes! or save! so it will throw an
exception)

Peter


On 10/1/07, Peter Gumeson <[EMAIL PROTECTED]> wrote:
How bout...

a = Author.find(some_id)
a.update_attribute(middle_name, "Poindexter")
a.stories.find_by_title("The Lake").update_attribute(title, "The Dry Lake")

Peter

On 10/1/07, Glenn Little <[EMAIL PROTECTED]> wrote:
Sorry, fixing confusing typo:

Glenn Little wrote:
Say I have a couple of tables:

 author :has_many   => stories
 story  :belongs_to => author

In a form handler I'd like to do something like:

 a = Author.find(some_id)
 a.middle_name = "Poindexter"

 s = a.find_by_title("The Lake")
 s.title = "The Dry Lake"

I'd like to then transactionally (or even not) do

 a.save!

and have the change to "s" get saved as well.  Is this possible?
It works fine if s is a new record created with build(), or something like
 s = Story.new
 a.stories << s
 a.save!

Is there any magic like "<<" or build() that can be used for existing
objects to attach them to a parent object for purposes of
cascading the save()?

Thanks!

    -glenn
_______________________________________________
Sdruby mailing list
[email protected]
http://lists.sdruby.com/mailman/listinfo/sdruby


--
"A flute with no holes is not a flute,
and a doughnut with no hole is a Danish."

- Zen philosopher, Basho

_______________________________________________
Sdruby mailing list
[email protected]
http://lists.sdruby.com/mailman/listinfo/sdruby
_______________________________________________
Sdruby mailing list
[email protected]
http://lists.sdruby.com/mailman/listinfo/sdruby

Reply via email to