我的控制器
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
我的模特
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
我怎样才能获得最后一次插入活动形式ID的after_create回调。 self.activity.id对我不起作用
答案 0 :(得分:1)
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