On Nov 13, 10:18 pm, jemminger <[EMAIL PROTECTED]> wrote:
> working for me in 2.1.2
>
> # parent class
> class Team < ActiveRecord::Base
>   has_many :games
> end
>
> # child class
> class Game < ActiveRecord::Base
>   belongs_to :team
> end
>
> # unit test
> require 'test_helper'
> class GameTest < ActiveSupport::TestCase
>
>   def test_updates_parent_timestamps
>     team = Team.create(:name => 'Team 1')
>     game = Game.create
>     team.games << game
>
>     team.save
>
>     assert team.valid?
>     assert game.valid?
>
>     old_date = team.updated_at
>     game.team.save
>
>     assert_not_equal old_date, team.reload.updated_at
>   end
>
I expect that passes only because old_date was basically set to
Time.now (so has a fractional second component), whereas
team.reload.updated_at is fetched from the database, so the fractional
portion of the second is lost.
In rails 2.1 game.team.save is a no-op because only changed attributes
are saved (and here none are changed). You can force a save by
modifying any attribute or calling one of the _will_change! methods ie

def touch
  updated_at_will_change!
  save
end

Fred


> end
>
> On Nov 13, 3:40 pm, David Warburton <[EMAIL PROTECTED]>
> wrote:
>
> > Jeff Emminger wrote:
> > > just calling save on the parent association works in my testing, e.g.
> > >   some_child.some_parent.save
>
> > > On Nov 13, 10:08 am, David Warburton <[EMAIL PROTECTED]
>
> > That was the first thing i tried :(.  I have rails 2.1.1.
> > --
> > Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to