You bet... any variation on the way you do your save.
The main improvement was the:
a.stories.find_by_title("The Lake")
instead of:
a.find_by_title("The Lake")
Peter
On 10/1/07, Glenn Little <[EMAIL PROTECTED]> wrote:
> 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
>
--
"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