如何在Rails中保存ActiveRecord模型后获取id值

27

我有一个ActiveRecord模型(我在rails 2.3.8上)叫做user,我将它保存为

user = User.new
user.name = "user name"
user.save!

我想要做的是在创建用户后获取生成的用户ID。但目前保存后它只会返回true/false值。

如何获取保存的用户ID?

3个回答

61

保存后,只需调用user.id即可。


2

对于寻找模型中on create的人,以下是方法:

class User < ActiveRecord::Base  
...  
  after_create :do_something

  def self.do_something
   user_id = id #this will have last created id
   # use this according to your needs
  end
...
end

-7

我做的方式是

class User < ActiveRecord::Base  
...  
  id = nil
  after_save {id = self.id}
...
end

然后本地变量id在整个模型中都可用


@Chowlett 在上面说得一点没错。保存后只需引用 user.id - David Hempy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接