Reputation: 91
my controller
new_task = {:user_id => params[:user_id],:task => params[:task] }
work = Work.new new_task
if work.valid?
work.save!
if !params[:sub].nil?
new_sub = {:activity => self.activity.id,:sub_task => "something etc" }
sub_task = SubTask.new new_sub
sub_task.save!
end
end
My Model
attr_accessible :user_id, :task, :created_at, :updated_at
after_create :add_activity
def add_activity
new_activity = {:user_id => self.user_id,:text => "new task" }
user_activity = Activity.new new_activity
user_activity.save!
end
how i can get last inserted ID of activity form after_create callback. self.activity.id is not working for me
Upvotes: 0
Views: 1021
Reputation: 4496
def last_activity
@last_activity || (Activity.where(:user_id => self.user_id).order("id").last if user_id)
end
def add_activity
new_activity = {:user_id => self.user_id,:text => "new task" }
user_activity = Activity.new new_activity
user_activity.save!
@last_activity = user_activity
end
self.last_activity.id
Upvotes: 1