Search code examples
ruby-on-railscallbackafter-save

Rails ActiveRecord using recently saved record id in after_save callback


I want to use recently stored record ID in after_save callback, is that possible if yes how?

after_save :create_children

def create_children
 self.id
end

Update: Sorry there was something going wrong with my save function, my bad, sorry to waste your time

Thanks


Solution

  • I just tried it with this:

     class Thing < ActiveRecord::Base
       after_save :test_me
    
       def test_me
         puts self.id
       end
     end
    

    and in the console:

    $ rails c
    Loading development environment (Rails 3.0.4)
    >> x=Thing.new
    => #<Thing id: nil, name: nil, created_at: nil, updated_at: nil>
    >> x.save
    2
    => true
    >> y=Thing.create
    3
    => #<Thing id: 3, name: nil, created_at: "2011-04-27 15:57:03", updated_at: "2011-04-27 15:57:03">
    

    What else is going on in your model?