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

时间:2011-06-13 09:31:08

标签: ruby-on-rails activerecord

我有一个名为user的ActiveRecord模型(我在rails 2.3.8上),我将其保存为

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

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

如何获取已保存的用户ID?

3 个答案:

答案 0 :(得分:46)

保存后只需致电user.id

答案 1 :(得分:1)

对于在模型中在创建时需要寻找内容的人,方法如下:

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

答案 2 :(得分:-6)

我这样做的方式是

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

然后在整个模型中可以使用局部变量id