2010-02-10 54 views
1

我在我的模型如何打印出自动增量ID在ActiveRecord的模型

before_save记录保存到数据库之前......我想打印出自动递增ID将被插入。我的桌子里有一列id

我试图

before_save :printId 

def printId 
    puts "ID that will be inserted is: " + self.id 
end 

这行不通......

+0

问题是:你需要什么?如果您因为某种原因事先需要它,可能是您的应用程序设计或您对ActiveRecord的理解有误。 – hurikhan77 2010-02-10 21:41:17

+0

您想在哪里看到这样的印刷声明?在控制台中?在一个视图? – user94154 2010-02-10 07:47:09

回答

1

的自动增量ID不存在一个ActiveRecord对象,直到它已被保存。可以获取表格的下一个自动增量ID,但这并不能保证该ID将在保存时被赋予给对象,因为在此期间可能添加了另一个记录。

3

尝试after_save

+0

正如Beerlington所述,id一直保存直到保存发生。 – 2010-02-10 09:38:50